Включение изображений в экспорт отчетов MBunit
Мы выполняем тесты MBunit в системе CI, которая генерирует HTML-отчеты, а также машиночитаемые отчеты. Я хотел бы прикрепить изображения к отчетам HTML.
При запуске через Gallio.Icarus изображения отображаются в журнале выполнения. К сожалению, они не доступны в отчете HTML. MBunit сохраняет изображения в "C:\Users\ имя пользователя \AppData\Local\Temp\Gallio\".
История вопроса и цель: мы запускаем тесты WebDriver во всех поддерживаемых нами браузерах через нашу систему CI. Когда тесты не пройдены, мы тратим много времени на отладку. Картинка говорит тысячу слов, поэтому я приложу снимок экрана к отчету. Запуск Icarus для просмотра результатов будет ручным процессом, который лишает смысла автоматическое тестирование.
Пример кода: (Реализация RemoteScreenShot является портом этого Java RemoteScreenShot для C#)
[SetUp]
public void SetUp()
{
var capabilties = new DesiredCapabilities(new Dictionary<string, object>() {{"browserName", "internet explorer"}});
// This is a subclass of RemoteWebDriver that supports screenshots.
_driver = new RemoteScreenShot(new Uri(HubServer), capabilties);
_google = new GoogleHome(_driver);
}
[Test]
public void TestScreenShot()
{
_driver.Navigate().GoToUrl("http://www.google.co.uk");
var screenShot = ((ITakesScreenshot)_driver).GetScreenshot();
screenShot.Should().Not.Be.Null();
using (var stream = new MemoryStream(screenShot.AsByteArray))
{
var image = new Bitmap((stream));
TestLog.Write("Hello");
TestLog.AttachImage("Screenshot", image);
}
}