我正在使用Protractor进行测试。任何人都可以告诉我是否有办法让我将其从使用Chrome更改为无头测试。我看到一些关于这些的文章似乎假设我使用的是Linux操作系统。我正在使用Windows机器进行测试。
答案 0 :(得分:9)
是的,phantomjs适用于Windows中的量角器。我也发现几乎所有在线文档都是* nix特定的,但在Windows中使用它非常容易。假设你已经使用chrome运行量角器:
添加幻影。您可以安装Windows版本或安装节点模块。我建议使用节点模块,因为如果需要设置另一个开发环境,它将简化构建设置:
npm install phantomjs --save-dev
然后更新你的protractor.conf.js指向phantomjs:
capabilities: {
browserName: 'phantomjs',
'phantomjs.binary.path': require('phantomjs').path
},
注意phantomjs.binary.path的值。迄今为止的所有在线文档都将该路径的值硬编码为* nix适当的值。在Windows中使用这些硬编码路径不会解析为正确的二进制文件。由于我们依赖于path属性,因此该配置适用于Windows和* nix!
答案 1 :(得分:2)
Protractor可以与PhantomJS“无头WebKit”一起使用。以下部分是量角器文档的摘录:
为了使用PhantomJS进行本地测试,您需要全局安装或相对于项目安装。有关全局安装,请参阅PhantomJS download page。对于相对安装运行:npm install --save-dev phantomjs
。
将phantomjs添加到驱动程序功能中,如果使用本地安装,则包含二进制文件的路径:
capabilities: {
'browserName': 'phantomjs',
/*
* Can be used to specify the phantomjs binary path.
* This can generally be ommitted if you installed phantomjs globally.
*/
'phantomjs.binary.path':'./node_modules/phantomjs/bin/phantomjs',
/*
* Command line arugments to pass to phantomjs.
* Can be ommitted if no arguments need to be passed.
* Acceptable cli arugments: https://github.com/ariya/phantomjs/wiki/API- Reference#wiki-command-line-options
*/
'phantomjs.cli.args':['--logfile=PATH', '--loglevel=DEBUG']
}
基本工作流程可以是在开发者机器上运行phantomjs上的测试。它允许在没有恼人的浏览器窗口的情况下运行您的e2e。其他浏览器的测试可以在持续集成服务器上运行。 当你开发时,用幻影js运行测试直到通过。然后推送,在ci服务器上触发构建并针对不同的浏览器运行测试。如果其中一个测试在特定浏览器上失败,您可以在您的开发机器上运行它。例如chrome:
protractor --browser=chrome
答案 2 :(得分:1)
你应该结帐PhantomJS(无头v8浏览器)和selenium。这篇文章有助于入门。
答案 3 :(得分:1)
selenium服务器是基于Java的,应该可以在Windows机器上正常运行。
http://docs.seleniumhq.org/download/
这个YouTube视频解释了如何设置量角器和硒一起工作。