1

HTMLレポートと機械可読レポートを生成するCIシステムでMBunitテストを実行します。HTML レポートに画像を添付したいと考えています。

Gallio.Icarus 経由で実行すると、実行ログに画像が表示されます。残念ながら、HTML レポートでは使用できません。MBunit は画像を「C:\Users\username\AppData\Local\Temp\Gallio\」に保存します。

背景と目標: CI システムを介して、サポートされているすべてのブラウザーで WebDriver テストを実行します。テストが失敗すると、デバッグに多くの時間を費やします。百聞は一見にしかずなので、スクリーンショットをレポートに添付します。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);
        }
    }
4

0 に答える 0