私はロボットテストを実行するgradleタスクを設定しようとしています。 RobotはPythonライブラリを使ってSeleniumと対話し、ブラウザからWebページをテストします。しかし残念ながら、https://github.com/robotframework/Selenium2Libraryをインストールする唯一の方法はpip経由です - pip install robotframework-selenium2library
です。 Gradleに自分のタスクでこのコマンドを実行させる方法はありますか?ここで Maven Centralにないライブラリ用にpython pip installを使用するための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で定義されている特定のキーワードは認識されないため、「ブラウザを開く」などの例外がスローされます。
このタスクのためにこのセレンライブラリをインポートするにはどうすればよいですか? Pythonプラグインを使用してpipをインストールして呼び出すことはできますか?