加快硒测试

时间:2016-08-29 22:33:01

标签: java selenium jenkins nightwatch.js

我通过以下方式运行selenium:

java -jar /opt/selenium-server-standalone-2.53.0.jar -Dwebdriver.chrome.args="--use-gl=osmesa" -Dwebdriver.chrome.driver=/usr/bin/chromedriver -Dwebdriver.chrome.bin=/usr/bin/google-chrome  -log /home/jenkins-user/log/selenium.log &

然后我运行夜视硒测试。出于某种原因,完整的测试套件需要20分钟才能运行。有什么办法可以加快速度吗?也许我可以将一些配置传递给java?

2 个答案:

答案 0 :(得分:0)

我有一个双Selenium环境设置,Firefox作为默认的webdriver,Phantomjs作为备用环境。当我编写测试时,我使用firefox驱动程序并观察浏览器的内容。但是对于CI服务器,我使用的是实际上并没有打开浏览器窗口的phantomjs。我实际上并没有计时,但它可能快了约50%。

无论我想运行什么测试,我总是使用以下内容启动Selenium服务器:

java -jar selenium-server-standalone-2.53.0.jar -Dphantomjs.binary.path=../bin/phantomjs

code.suite.yml包含以下内容:

class_name: CodeTester
modules:
    enabled:
         - WebDriver:
         - Db:
            cleanup: false
    config:
         WebDriver:
            url: 'http://my.example.com'
            browser: firefox
            clear_cookies: true
            window_size: 1024x768
            capabilities:
                unexpectedAlertBehaviour: 'accept'

env:
    phantom:
        modules:
            config:
                WebDriver:
                    browser: phantomjs
                    clear_cookies: true
                    window_size: 1024x768
                    capabilities:
                        unexpectedAlertBehaviour: 'accept'
                        phantomjs.cli.args: [ '--ignore-ssl-errors=true' ]

要调用默认的Firefox,我只需运行以下命令(不提供env):

php codecept.phar run gui --steps

但是为了指定phantomjs env,我执行以下命令:

php codecept.phar run code --steps --env phantom

答案 1 :(得分:0)

如果20分钟太长,请尝试在一台机器上并行运行测试,或使用selenium hub在多台机器上并行运行测试。 请查看workers此处http://nightwatchjs.org/guide#parallel-running

部分