9

我在 Perl 语言绑定下使用 Selenium Webdriver (2.0) 和 Firefox 20。速度非常慢。例如,一种常见的操作是<input type="text">用 ID 和密码填写几个字段。我输入它的速度比 Selenium 的“send_keys”方法快 2 到 3 倍。定位元素,例如大表格中带有特定文本的表格单元格,就像看着油漆变干一样。

我认为可能有某种默认速度设置不是最高值,但是 get_speed 和 set_speed 方法已被删除。那么,Selenium 是否已经用尽了,还是有一些我可以调整的设置?我见过很多关于如何减慢Selenium 的问题,但此时我正在寻找如何加快速度。如有必要,我会担心以后放慢速度。

  • Perl:Strawberry Perl 5.16.3(测试程序驱动)
  • Java:1.7.0_21-b11(用于 Selenium Server .jar 文件)(32 位)
  • Selenium::Remote::Driver:0.16,通过 CPAN(Perl 语言绑定)
  • Selenium-Server-Standalone:2.32.0
  • 操作系统:Windows 7 专业版、SP 1(64 位)
  • 硬件:戴尔 Precision T1650(至强 3.5GHz 16GB RAM)
  • 浏览器:带有 Selenium IDE 1.10.0 的 Firefox 20.0.1(生产用户将拥有 Chrome、IE9、Opera)

由于即使是“原子”操作(例如在输入字段中输入文本)也很慢,所以我认为使用 XPath 定位器而不是 CSS 或 Perl 而不是其他语言都不是问题。有人建议我尝试使用 Chrome 而不是 FF——它有那么大的帮助?我在表格单元格中做了很多定位文本,所以不幸的是 CSS 定位器的价值有限。

非常感谢您对此的任何帮助!如果这个测试自动化不比手动运行测试快,我会看起来很糟糕!

4

3 回答 3

2

派对有点晚了,但有一个幻像驱动程序http://phantomjs.org/不使用屏幕驱动程序并且可以连接到 selenium。

  ./phantomjs --webdriver=5556 --webdriver-selenium-grid-hub=http://localhost:4444

或将其链接到远程集线器

于 2013-07-12T08:29:32.817 回答
0

对于任何来这个问题的人:

Selenium 测试已经在很多方面发生了变化,并且它们的运行速度比以前更快。

但是为了使您的测试运行得更快,请使用headless不打开任何测试窗口的模式。它在chromedriver和中都可用geckodriver

于 2020-10-27T18:46:20.580 回答
0

这可能并不直接适用,但您可以按照一些简单的提示来首先调查大部分时间都花在了哪里。看看下面的文章:

https://blog.mavenhive.in/7-tips-to-speed-up-your-webdriver-tests-4f4d043ad581

我想其中大部分都是通用步骤,无论用于测试的工具如何,它们都将适用。

于 2016-01-22T18:41:28.190 回答