Chromedriver在使用Selenium Grid和.net的特定机器上速度极慢

Sky*_*Sky 25 mstest webdriver selenium-grid selenium-chromedriver selenium-webdriver

概述: Chromedriver在一台机器上正常工作,但在另外两台相同的机器上工作速度非常慢.

建立:

  • Selenium Webdriver使用.Net进行编码,使用Selenium Grid进行分发测试.正在Visual Studio 2010中使用MSTest以运行测试.
  • 一台64位Windows 7本地计算机充当集线器
  • 我的本地网络上有三台32位Win 7远程计算机(其中两台是虚拟的)都配置为节点.以下是用于启动远程计算机上的节点的命令:

    java -jar c:\ seleniumWebDriver\seleniumGrid\selenium-server-standalone-2.31.0.jar -role node -hub http://XXX.XXX.XXX.XXX:4444/grid/register -browser"browserName = chrome" ,maxInstances = 4 -Dwebdriver.chrome.driver ="C:\ seleniumWebDriver\chromedriver.exe"

  • 驱动程序在代码中以这样的方式启动:

    DesiredCapabilities capability = new DesiredCapabilities(); capability.SetCapability(CapabilityType.BrowserName,browser); driver = new RemoteWebDriver(new Uri(hubUrl),capability);

  • 上面的变量"browser"和"hubUrl"通过在运行时构建的app.config文件传递.对于这种情况,浏览器= chrome.

问题:

  • 当我使用上面的命令将机器212(它是一个虚拟机)设置为chrome节点,然后从集线器启动脚本时,我在正确的远程机器上看到chrome start并正常运行.它每秒在5-10个命令之间.

  • 当我以相同的方式将机器78(虚拟机)或机器103(真实机器)设置为节点,然后从集线器启动脚本时,我看到节点正确地启动了chrome.但是,它运行速度非常慢,如每秒1次或更少.

其他信息: 就像我说的,在一台机器上镀铬工作正常,但在其他机器上,运行速度非常慢.Firefox和IE配置为节点时,可以正常工作.

我已将机器212(工作正常)与其他机器进行了比较,但无法找到差异.所有机器都使用'selenium-server-standalone-2.31.0.jar'和相同版本的ChromeDriver.

似乎节点机器没有被重载.此外,这是一个非常一致的性能差异,似乎与网络或机器上的任何波动负载无关.

我的网络技术已经验证所有这些机器在网络上配置相同.

以前有人见过这样的事吗?

编辑1:我今天登录,所有三台远程机器都在缓慢运行chrome.在其中一个是正常的之前,但现在他们都很慢.

小智 33

我遇到了一个类似的问题,其中chromedriver在一些机器上很慢,结果证明是一个代理问题.在Chrome://设置>更改代理设置>局域网设置>制作的webdriver中禁用"自动检测设置",以便在我的Chrome中更快地执行命令.

  • 是否可以通过功能或crome.switch参数进行更改?我找到了类似_-- no-proxy-server_的东西,但这似乎不起作用. (3认同)

小智 8

我的代理设置没有使用自动检测,但我发现以下帮助很多.启动驱动程序所需的时间从43秒下降到1秒

driver = new ChromeDriver(new ChromeOptions{Proxy = null}); 
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

23115 次

最近记录:

6 年,8 月 前