量角器不会自动启动PhantomJS

时间:2014-04-03 19:19:03

标签: angularjs phantomjs protractor

我使用protractorgrunt-protractor-runner运行我的E2E角度测试),但我无法让PhantomJS自动启动。

我的量角器配置如下所示:

exports.config = {
    //seleniumAddress: "http://localhost:9515",
    specs: [
        'static_src/test/spec/*.js'
    ],


    capabilities: {
        'browserName': 'phantomjs',
        'phantomjs.binary.path':'./node_modules/phantomjs/bin/phantomjs',
        'phantomjs.cli.args':['--logfile=phantom.log', '--loglevel=DEBUG']
    }
}

我的理解是,使用该配置protractor将自动启动PhantomJS实例(在phantomjs.binary.path上找到),对其进行测试,直接使用WebDriver协议进行通信(因此不需要Selenium服务器),然后关闭PhantomJS实例。

鉴于此,

  1. 我上面描述的是预期的行为吗?
  2. 我需要在配置中添加任何内容才能实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

量角器始终需要Selenium独立服务器。您可以使用webdriver-manager启动它,并参考protract.conf.js 中的地址,您可以指定jar的位置,Protractor将为您启动它。

请参阅配置中的jar,例如:

seleniumServerJar: 
  'node_modules/selenium-server/lib/runner/selenium-server-standalone-2.38.0.jar'

使用此方法,您不必担心启动selenium服务器,但速度稍慢。因此,如果您需要经常重新运行测试,则可以更快地独立于Protractor启动它。