我正在尝试在Gradle中运行一个运行量角器测试文件的任务,但我找不到从Gradle启动它的方法,而无需从机器的路径启动Selenium Server。现在我正在使用:
task startSelenium {
println "Starting Selenium..."
ant.exec(executable: 'webdriver-manager', spawn: true) {
arg(value: 'start')
}
}
//run protractor
task runProtractor(type: Exec, dependsOn: ':startSeleniumServer') {
commandLine 'protractor', 'src/test/javascript/e2e/conf.js'
}
但这里的情况是我正在启动本地服务器,并使用我的机器配置。有没有办法避免使用这些命令调用,只是启动服务器并从项目内部运行量程器文件?
谢谢!
答案 0 :(得分:1)
在package.json
中包含以下内容,如果没有此文件,请在项目文件夹下执行npm init
以创建一个。
{
"scripts": {
"update-driver": "webdriver-manager update",
"start-driver": "webdriver-manager start",
"e2e": "protractor src/test/javascript/e2e/conf.js"
},
"dependencies": {
"protractor": "^5.3.0",
}
}
按如下方式更改Gradle脚本:(假设在机器上安装了JDK和Nodej)
task npmInstall(type: Exec) {
commandLine 'npm', 'install'
}
task updateDriver(type: Exec, dependsOn: 'npmInstall') {
commandLine 'npm', 'run update-driver'
}
task startDriver(type: Exec, dependsOn: 'updateDriver') {
commandLine 'npm', 'run start-driver'
}
//run protractor
task runProtractor(type: Exec, dependsOn: ':startDriver') {
commandLine 'npm', 'run e2e'
}