使用 Selenium ITakeScreenshot returns 来自 IE Window 的黑屏?
Using Selenium ITakeScreenshot returns Black Screen from IE Window?
我有一个 Class Library.dll 和一些用 C# / Selenium 编写的 SpecFlow 测试,当我使用标准代码捕获带有 selenium class 的屏幕截图时,文件只是黑色 window ?!
我有 运行 以前构建的解决方案和 .dll,它们使用相同的驱动程序版本 (Selenium.IE32) 和浏览器版本,并且可以很好地捕获屏幕...我正在使用以下代码。
((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(ScreenName, ScreenshotImageFormat.Png);
我考虑过使用 Rectangle/Bitmap 来捕获整个屏幕,但这似乎在 System.Windows.Forms 命名空间内,所以我不能在程序集类型 ClassLibrary 中使用它。
有什么想法吗?
如何使用 selenium webdriver 启动 IE?您使用的是哪个版本的 IE webdriver?我使用的是this page中推荐的IEDriver版本,使用如下代码。它对我很有效:
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
namespace ecwebdriver
{
public class webdriver
{
static void Main(string[] args)
{
IWebDriver driver;
driver = new InternetExplorerDriver(@"D:\webdriver"); //here you should change to your webdriver path
driver.Navigate().GoToUrl("http://www.bing.com");
((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(@"D:\image\test.png");
}
}
}
我拿出来了
driver.Navigate().GoToUrl(StartURL);
并替换为
options.InitialBrowserUrl = StartURL;
现在正在捕获有效的屏幕截图!
我有一个 Class Library.dll 和一些用 C# / Selenium 编写的 SpecFlow 测试,当我使用标准代码捕获带有 selenium class 的屏幕截图时,文件只是黑色 window ?!
我有 运行 以前构建的解决方案和 .dll,它们使用相同的驱动程序版本 (Selenium.IE32) 和浏览器版本,并且可以很好地捕获屏幕...我正在使用以下代码。
((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(ScreenName, ScreenshotImageFormat.Png);
我考虑过使用 Rectangle/Bitmap 来捕获整个屏幕,但这似乎在 System.Windows.Forms 命名空间内,所以我不能在程序集类型 ClassLibrary 中使用它。
有什么想法吗?
如何使用 selenium webdriver 启动 IE?您使用的是哪个版本的 IE webdriver?我使用的是this page中推荐的IEDriver版本,使用如下代码。它对我很有效:
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
namespace ecwebdriver
{
public class webdriver
{
static void Main(string[] args)
{
IWebDriver driver;
driver = new InternetExplorerDriver(@"D:\webdriver"); //here you should change to your webdriver path
driver.Navigate().GoToUrl("http://www.bing.com");
((ITakesScreenshot)driver).GetScreenshot().SaveAsFile(@"D:\image\test.png");
}
}
}
我拿出来了
driver.Navigate().GoToUrl(StartURL);
并替换为
options.InitialBrowserUrl = StartURL;
现在正在捕获有效的屏幕截图!