我已经创建了最简单的 NUnit 测试来初始化 ChromeDriver
,它运行了将近 6 秒。大部分时间(大约 4 秒)都花在一个空白的、不活动的 Chrome 窗口上。
ChromeDriver.exe 窗口几乎立即出现。
我的单元测试是这样的:
[Test]
public void Simplest_Possible_Test()
{
var options = new ChromeOptions { Proxy = null };
using (new ChromeDriver(options))
{
// Do nothing
}
}
我正在使用这些 nuget 包:
<package id="NUnit" version="3.12.0" targetFramework="net47" />
<package id="Selenium.Support" version="3.141.0" targetFramework="net47" />
<package id="Selenium.WebDriver" version="3.141.0" targetFramework="net47" />
<package id="Selenium.WebDriver.ChromeDriver" version="78.0.3904.7000" targetFramework="net47" />
我的问题是:
这种缓慢是预料之中的吗?我可以做些什么来加快速度吗?
最佳答案
我正在使用以下单例 IWebDriver 实例,只需几秒钟即可启动。
public class UiTest : IDisposable
{
private IWebDriver driver = null;
protected IWebDriver Driver
{
get
{
if (driver == null)
{
driver = new ChromeDriver(new ChromeOptions{Proxy = null});
driver.Manage().Window.Maximize();
}
return _driver;
}
}
public void Dispose()
{
driver?.Dispose();
}
}
在windows自动代理设置中,您可以关闭“自动检测设置”,看看是否有什么不同。但是,我猜,为 ChromeOptions
传递空代理具有类似的效果。
关于c# - Selenium.WebDriver.ChromeDriver 启动缓慢 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58606020/