我正在尝试使用下面的简单代码在Selenium C#中截取
public void takeScreenshot()
{
Screenshot screenshot = ((ITakesScreenshot)DriverContext.Driver).GetScreenshot();
screenshot.SaveAsFile(@"C:\images\image.png", ImageFormat.Png);
}
只要我在测试代码中调用此方法,就会抛出错误:
System.InvalidOperationException: unknown error: cannot get automation extension
from unknown error: page could not be found: chrome-
extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
(Session info: chrome=58.0.3029.110)
(Driver info: chromedriver=2.27.440174
(e97a722caafc2d3a8b807ee115bfb307f7d2cfd9),platform=Windows NT 10.0.10586 x86_64)
我研究了很多,发现
这可能是由于我安装了最新版本的旧Chrome驱动程序版本,但它仍然会出错
该网站可能无法导航到我通过导航到www.google.com进行检查的www,但它仍无效。
我不确定如何解决此问题。任何建议都会有所帮助。
答案 0 :(得分:0)
我在我的TearDown中使用它并且它对我有用 - 也许就是那时DriverContext.Driver正在解决的问题?
[TearDown]
public void TearDown()
{
if (TestContext.CurrentContext.Result.Outcome != ResultState.Success)
{
var screenshot = ((ITakesScreenshot)browser).GetScreenshot();
var filename = TestContext.CurrentContext.Test.MethodName + "_screenshot_" + DateTime.Now.Ticks + ".jpg";
var path = "C:\\Temp\\" + filename;
screenshot.SaveAsFile(path , ScreenshotImageFormat.Jpeg);
TestContext.AddTestAttachment(path);
}
browser.Quit();
}