Zac*_*bey 10 angularjs protractor
我正在尝试使用Gulp在我的角度项目上进行e2e测试.
我能够让它工作,但只有我webdriver-manager start
在一个单独的终端窗口中手动启动一个独立的selenium服务器.
理想情况下,我希望我的gulp任务能够管理启动和停止服务器,以免为我的团队增加运行这些测试的开销.
我按照这里的说明进行了设置:
他们描述了启动selenium服务器的2个选项.一个是建立一个gulp任务,它似乎做同样的事情webdriver-manager start
:
gulp.task('webdriver_standalone', require("gulp-protractor").webdriver_standalone);
Run Code Online (Sandbox Code Playgroud)
这有效,但是当我的e2eTest任务将其作为依赖项调用时.我必须gulp webdriver_standalone
在一个单独的终端窗口中运行.
我无法理解其他建议的选项.
指向量角器配置文件中的selenium jar
这些说明在s ()中需要一个到selenium-server-standalone jar的路径,但是我的目录没有这样的jar(或者根本没有子目录)protractor
node_modules
./node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar
node_modules/protractor/
selenium
没有插件的Running Protractor的说明似乎有同样的问题,必须在另一个终端窗口中运行selenium服务器.
有没有办法让这个设置,以便单个gulp任务启动独立服务器,运行测试,并关闭它没有其他干预?
Igo*_*ych 10
当你运行Protractor时,你有几个关于Selenium WebDriver的选项(记住WebDriver是用Java编写的web服务):
在您的情况下,只需运行:
./node_modules/protractor/bin/webdriver-manager update
Run Code Online (Sandbox Code Playgroud)
它将下载Selenium.然后将config指向正确的jar.
在本地工作的最简单方法是使用本地Selenium Standalone jar,就像Igor在选项#2中建议的那样.(很难将webdriver-manager start
gulp作为生成的child_process或异步任务运行.)您可以node_modules
使用以下命令轻松获取文件夹中的jar :
npm install selenium-server-standalone-jar --save-dev
然后,在protractor.conf.js
注释中删除seleniumAddress行并为seleniumServerJar添加一行.
exports.config = {
seleniumServerJar: '../node_modules/selenium-server-standalone-jar/jar/selenium-server-standalone-2.47.1.jar',
//seleniumAddress: 'http://localhost:4444/wd/hub',
/* Lines below for completeness only, leave yours as is. */
framework: 'jasmine2',
specs: ['login-spec.js'],
multiCapabilities: [{
browserName: 'chrome',
browserName: 'firefox'
}]
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6142 次 |
最近记录: |