【问题标题】:Coypu screenshot海狸鼠截图
【发布时间】:2016-07-13 21:13:14
【问题描述】:

在场景结束时,如果失败,我想拍照。以下代码不起作用:

[AfterScenario]
public void AfterScenario()
{
    if(ScenarioContext.Current.TestError != null)
    {
     WebBrowser.Driver.CaptureScreenShot(ScenarioContext.Current.ScenarioInfo.Title);
    }
}

我认为这可能是因为我使用 Coypu(已包裹硒)启动浏览器。驱动程序没有实现“captureScreenShot”方法。所以我的问题是:当我使用 coypu 启动浏览器时,如何在场景后截取屏幕截图?

启动浏览器的代码如下:

sessionConfiguration.Driver = typeof (SeleniumWebDriver);
sessionConfiguration.Browser = Drivers.Browser.Firefox;

【问题讨论】:

    标签: selenium nunit screenshot coypu


    【解决方案1】:

    正如你所说,目前 Coypu 还没有实现这一点。原因是到目前为止,我根本不需要截屏,直到现在也没有人问过。

    要访问本机驱动程序(在您的情况下为 WebDriver),请使用BrowserSession.Native,然后您可以使用 WebDriver 的 GetScreenshot 方法。这最终会看起来像这样(免责声明:未经测试):

    var driver = (ITakesScreenshot) coypuBrowserSession.Native;
    
    var screenshot = driver.GetScreenshot();
    
    screenshot.SaveAsFile("c://screenshot.png", System.Drawing.Imaging.ImageFormat.Png);
    

    I've opened an issue 供您在 github 上将此添加到 Coypu 的 BrowserWindow API

    【讨论】:

    【解决方案2】:

    这现在在 Coypu 中原生可用。您可以在此处找到文档:

    https://github.com/featurist/coypu#screenshots

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多