我正在尝试设置一个将运行机器人测试的gradle任务 . Robot使用python库与Selenium交互,以便通过浏览器测试网页 . 但不幸的是,似乎安装https://github.com/robotframework/Selenium2Library的唯一方法是通过pip - pip install robotframework-selenium2library
. 有没有办法让Gradle在我的任务中运行此命令?
这就是我所拥有的:
的build.gradle:
configurations {
//...
acceptanceTestRuntime {extendsFrom testCompile, runtime}
}
dependencies {
//...
acceptanceTestRuntime group: 'org.robotframework', name: 'robotframework', version: '2.8.7'
//The following doesn't work, apparently this library isn't on maven...
//acceptanceTestRuntime group: 'org.robotframework', name: 'Selenium2Library', version: '1.+'
}
sourceSets {
//...
acceptanceTest {
runtimeClasspath = sourceSets.test.output + configurations.acceptanceTestRuntime
}
}
task acceptanceTest(type: JavaExec) {
classpath = sourceSets.acceptanceTest.runtimeClasspath
main = 'org.robotframework.RobotFramework'
args '--variable', 'BROWSER:gc'
args '--outputdir', 'target'
args 'src/testAcceptance'
}
我的机器人资源文件 - login.resource.robot:
*** Settings ***
Documentation A resource file for my example login page test.
Library Selenium2Library
*** Variables ***
${SERVER} localhost:8080
(etc.)
*** Keywords ***
Open Browser to Login Page
Open Browser ${LOGIN_URL} ${BROWSER}
Maximize Browser Window
Set Selenium Speed ${DELAY}
Login Page Should Be Open
Login Page Should Be Open
Location Should Be ${LOGIN_URL}
当我运行此任务时,我的机器人测试会运行,但它们会失败 . 因为无法识别robotframework-selenium2Library中定义的某些关键字,例如“Open Browser”,所以会抛出异常 .
如何让gradle导入此selenium库以执行此任务?我可以通过一些python插件安装和调用pip吗?
1 回答
我不得不使用gradle Exec任务来运行python脚本,然后启动机器人测试 . 所以它看起来像这样:
的build.gradle
SRC / testAcceptance / run.py
SRC / testAcceptance / setup.py