在MBunit报告导出中包含图像

时间:2012-04-11 20:53:03

标签: webdriver mbunit

我们在CI系统中执行MBunit测试,生成HTML报告以及机器可读报告。我想将图像附加到HTML报告中。

通过Gallio.Icarus运行时,图像显示在执行日志中。不幸的是,它们不适用于HTML报告。 MBunit将图像保存在“C:\ Users \ username \ AppData \ Local \ Temp \ Gallio \”中。

背景和目标:我们通过CI系统在所有支持的浏览器中运行WebDriver测试。当测试失败时,我们会花很多时间调试。一张图片说千言万语,所以我会在报告中附上一个屏幕截图。运行Icarus以查看输出将是一个手动过程,这无法实现自动化测试。

代码示例:( RemoteScreenShot实现是this 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);
        }
    }

0 个答案:

没有答案