加速Selenium Webdriver

时间:2013-05-31 18:54:56

标签: perl selenium selenium-webdriver

我在Perl语言绑定下使用Selenium Webdriver(2.0)和Firefox 20.它非常慢。例如,一个常见操作是使用ID和密码填写几个<input type="text">字段。我可以比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 via CPAN(Perl语言绑定)
  • Selenium-Server-Standalone:2.32.0
  • 操作系统:Windows 7专业版,SP 1(64位)
  • 硬件:Dell Precision T1650(Xeon 3.5GHz 16GB RAM)
  • 浏览器:带有Selenium IDE 1.10.0的Firefox 20.0.1(生产用户将拥有Chrome,IE9,Opera)

因为即使是“原子”操作(例如将文本输入到输入字段中)也是如此之慢,我认为使用XPath定位器而不是CSS或Perl而不是其他语言是一个问题。有人建议我尝试Chrome而不是FF - 它可以帮助 吗?我在表格单元格中进行了很多定位文本,因此很遗憾CSS定位器的价值有限。

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

3 个答案:

答案 0 :(得分:2)

派对有点晚了,但幻影驱动程序http://phantomjs.org/没有使用屏幕驱动程序,可以连接到selenium。

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

或将其链接到远程集线器

答案 1 :(得分:0)

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

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

我猜大多数这些都是通用的步骤,无论用于测试的工具如何都适用。

答案 2 :(得分:0)

对于任何遇到此问题的人:

硒测试已经有了很多发展,并且运行速度比以前快。

但是为了使测试运行更快,请使用headless模式,该模式不会打开任何测试窗口。在chromedrivergeckodriver中都可用。