【发布时间】:2014-04-03 19:19:02
【问题描述】:
我正在使用 protractor(使用 grunt-protractor-runner 运行我的 E2E Angular 测试),但我无法让 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 实例。
鉴于此,
- 我在上面描述的行为是否符合预期?
- 我需要在配置中添加什么来实现这一点吗?
【问题讨论】:
-
量角器的主要目标是使用带有 webdriver 的真实浏览器进行测试。所以我不认为使用 phantomjs 是一个好方法。 Phantomjs 非常适合单元测试,但带有 selenium 的量角器非常适合在真实浏览器中进行端到端测试。有一个演示设置:github.com/angular/angular-seed
-
PhantomJS 是一个真正的浏览器。它只是有点旧(与 Chrome 13 相比),除了日志或屏幕截图,您什么都看不到。
标签: angularjs phantomjs protractor