当前位置: 首页 > 知识库问答 >
问题:

Chromedriver在使用Selenium Grid和的特定机器上速度非常慢。网

金和雅
2023-03-14

概述:Chromedriver在一台机器上正常工作,但在另外两台相同的机器上工作极慢。

设置:

>

  • 使用Selenium WebDrive。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-角色节点-hub超文本传输协议://XXX. XXX. XXX: 4444/rid/注册-浏览器"BrowserName=chrome", max实例=4-Dwebdriver.chrome.driver="C:\seleniumWebDriver\chromedriver.exe"

    驱动程序是这样从代码中启动的:

    DesiredCap能力=新的DesiredCap能力();能力。CapabilityType.BrowserName,浏览器);驱动程序=new Remote teWebDriver(new Uri(hubUrl),能力);

    上面的变量“browser”和“hubUrl”通过应用程序传递。在运行时生成的配置文件。对于这种情况,browser=chrome。

    问题:

    >

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

    当我以同样的方式设置机器78(虚拟机)或机器103(实机)作为节点,然后从集线器启动脚本时,我看到节点正确启动chrome。然而,它运行得非常慢,比如每秒1个命令或更少。

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

    我将机器212(工作正常)与其他机器进行了比较,没有发现差异。所有机器都使用“selenium-server-standalone-2.31.0”。jar’和同一版本的ChromeDriver。

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

    我的网络技术人员已经验证了所有这些机器在网络上的配置是相同的。

    以前有人见过这样的东西吗?

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

  • 共有3个答案

    桂阳文
    2023-03-14

    铬驱动程序问题中的错误链接这是一个长期存在的问题,优先级最低。但随着越来越多的用户会投票支持它,也许有人会修复它。它也可能被释放到解析代理配置不符合标准,这将很快得到修复。

    慕俊语
    2023-03-14

    我的代理设置没有使用自动检测,但我发现下面的方法很有帮助。启动驾驶员所需的时间从43秒减少到1秒

    driver = new ChromeDriver(new ChromeOptions{Proxy = null}); 
    
    简俊楚
    2023-03-14

    我遇到了一个类似的问题,在一些机器中,chromeDrive很慢,结果是代理问题。禁用"自动检测设置"下Chrome://设置

     类似资料:
    • 问题所在 问题很怪异,出乎意料。上传/下载工作完美,但非常慢。 我在一个良好的互联网连接1MBps,但这些文件从来没有以这种速度传输。它大约是100-150KBps,这几乎是我的网络可用速度的15%。 请注意,我没有更改上载和下载的超时设置。他们违约了。

    • 问题内容: 我正在查询有关的信息。 我正在迭代一个数组,并查询列表中的每个值。 不幸的是 ,在调试器下, 单个查询大约需要3-4秒,而 在禁用调试器的情况下, 查询时间要 短一些。 任何想法为什么这么慢?我使用进行测试。 这是我的代码: 更新资料 当我离开时,评估很快就完成了,但是我没有得到。它返回一个空字符串… 问题答案: 感谢@nvrmnd我尝试了一下,发现了一种更好的解析器: VTD-XML

    • 问题内容: 我面临一个非常奇怪的问题:使用Redis时,我的写入速度非常糟糕(在理想情况下,写入速度应该接近RAM上的写入速度)。 这是我的基准: 是生成随机字符串的类(arg是字符串长度) 以下是几个结果: [写入] nb:100000 |时间:4.408319378 |速度:0.713905907055318 MB / s [写入] nb:100000 |时间:4.4139469070553

    • 问题内容: 我有一个MySQL查询(Ubu 10.04,Innodb,Core i7、16Gb RAM,SSD驱动器,优化的MySQL参数): 表em_link_data有大约700万行,em_link有数千行。此查询大约需要 18秒 才能完成。但是,如果我替换子查询的结果并执行以下操作: 那么查询将在不到1毫秒的时间内运行。仅子查询在不到1毫秒的时间内运行,因此索引了列linkid。 如果我将查

    • 问题内容: 我已经开发了一个用户批量上传模块。有两种情况,当数据库有零条记录时,我批量上传了20000条记录。大约需要5个小时。但是,当数据库已经有大约30 000条记录时,上传速度将非常缓慢。上载2万条记录大约需要11个小时。我只是通过fgetcsv方法读取CSV文件。 下面是运行的查询。(我正在使用Yii框架) 如果存在,请更新用户: 如果用户不存在,请插入新记录。 表引擎类型为MYISAM。

    • 我试图支持我们网站上的网络摄像头视频的录制,然后我需要转码到MP4和 ;WebM,以支持HTML5播放。我在我们的服务器上安装了FFMPEG1.2,整个过程运行得相当好。 不过,我遇到的一个问题是将FLV转换成MP4。它是不可接受的慢,例如,一个8秒的FLV需要大约2.5分钟的代码转换! 我使用的命令是: 有太多的参数,我有点不知道解决这个问题的最佳方法。您可以从这里下载测试flv: 相比之下,转