将 Gradle 中的参数传递给 Sauce 配置
passing params in Gradle to Sauce config
有没有办法将以下参数传递给 gradle 构建,以便在 build.gradle
启动 sauce connect 时可以为 sauce connect 生成日志。我的设置是 gradle-geb-saucelabs
bin/sc --logfile some_filename.log -vv
我的 build.gradle 在下面。下面的答案有助于理解如何在 gradle 中传递参数,但我仍在尝试找到如何通过 gradle.
将它们传递给 sauceConnect
import geb.gradle.saucelabs.SauceAccount
apply plugin: "geb-saucelabs"
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.gebish:geb-gradle:0.13.1'
}
}
apply plugin: 'java'
apply plugin: 'groovy'
repositories {
mavenCentral()
maven { url "http://repository-saucelabs.forge.cloudbees.com/release" }
}
dependencies {
def seleniumVersion = '2.45.0'
def phantomJsVersion = '1.1.0'
def groovyVersion = '2.4.3'
//groovy
compile "org.codehaus.groovy:groovy-all:$groovyVersion"
// selenium drivers
testCompile "org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion"
testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
//testCompile "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
testCompile "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
testRuntime "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
testCompile("com.github.detro.ghostdriver:phantomjsdriver:$phantomJsVersion") {
transitive = false
}
// geb
testCompile "org.gebish:geb-spock:0.10.0"
// spock
testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'
//junit
testCompile "org.gebish:geb-junit4:0.10.0"
testCompile "junit:junit-dep:4.8.2"
sauceConnect "com.saucelabs:sauce-connect:3.0.28"
sauceConnect "com.saucelabs:ci-sauce:1.81"
}
sauceLabs {
browsers {
chrome_mac
}
task {
testClassesDir = test.testClassesDir
testSrcDirs = test.testSrcDirs
classpath = test.classpath
}
account {
//username = System.getenv(SauceAccount.USER_ENV_VAR)
//accessKey = System.getenv(SauceAccount.ACCESS_KEY_ENV_VAR)
username = System.getenv("SAUCE_USERNAME")
accessKey = System.getenv("SAUCE_ACCESS_KEY")
}
}
test {
//System.setProperty('geb.saucelabs.browser','browserName=firefox:LINUX:19')
systemProperties "geb.build.reportsDir": "$reportsDir/geb"
}
我 运行 使用 gradle chromeMacTest --info
构建
我不知道把这个参数放在哪里,我会告诉你如何将参数传递给 gradle
:
task startSC << {
// your starting staff here
System.out.println("Just test that params passed: " + passed)
}
运行 gradle:
$ gradle -Ppassed="bin/sc --logfile some_filename.log -vv" startSC
输出:
Just test that params passed: bin/sc --logfile some_filename.log -vv
BUILD SUCCESSFUL
将附加命令行选项传递给 Sauce Connect 的示例显示在代码段中标有参考号 11 的行中:http://www.gebish.org/manual/current/#geb-saucelabs-plugin
有没有办法将以下参数传递给 gradle 构建,以便在 build.gradle
启动 sauce connect 时可以为 sauce connect 生成日志。我的设置是 gradle-geb-saucelabs
bin/sc --logfile some_filename.log -vv
我的 build.gradle 在下面。下面的答案有助于理解如何在 gradle 中传递参数,但我仍在尝试找到如何通过 gradle.
将它们传递给 sauceConnectimport geb.gradle.saucelabs.SauceAccount
apply plugin: "geb-saucelabs"
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.gebish:geb-gradle:0.13.1'
}
}
apply plugin: 'java'
apply plugin: 'groovy'
repositories {
mavenCentral()
maven { url "http://repository-saucelabs.forge.cloudbees.com/release" }
}
dependencies {
def seleniumVersion = '2.45.0'
def phantomJsVersion = '1.1.0'
def groovyVersion = '2.4.3'
//groovy
compile "org.codehaus.groovy:groovy-all:$groovyVersion"
// selenium drivers
testCompile "org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion"
testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
//testCompile "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
testCompile "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
testRuntime "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
testCompile("com.github.detro.ghostdriver:phantomjsdriver:$phantomJsVersion") {
transitive = false
}
// geb
testCompile "org.gebish:geb-spock:0.10.0"
// spock
testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'
//junit
testCompile "org.gebish:geb-junit4:0.10.0"
testCompile "junit:junit-dep:4.8.2"
sauceConnect "com.saucelabs:sauce-connect:3.0.28"
sauceConnect "com.saucelabs:ci-sauce:1.81"
}
sauceLabs {
browsers {
chrome_mac
}
task {
testClassesDir = test.testClassesDir
testSrcDirs = test.testSrcDirs
classpath = test.classpath
}
account {
//username = System.getenv(SauceAccount.USER_ENV_VAR)
//accessKey = System.getenv(SauceAccount.ACCESS_KEY_ENV_VAR)
username = System.getenv("SAUCE_USERNAME")
accessKey = System.getenv("SAUCE_ACCESS_KEY")
}
}
test {
//System.setProperty('geb.saucelabs.browser','browserName=firefox:LINUX:19')
systemProperties "geb.build.reportsDir": "$reportsDir/geb"
}
我 运行 使用 gradle chromeMacTest --info
我不知道把这个参数放在哪里,我会告诉你如何将参数传递给 gradle
:
task startSC << {
// your starting staff here
System.out.println("Just test that params passed: " + passed)
}
运行 gradle:
$ gradle -Ppassed="bin/sc --logfile some_filename.log -vv" startSC
输出:
Just test that params passed: bin/sc --logfile some_filename.log -vv
BUILD SUCCESSFUL
将附加命令行选项传递给 Sauce Connect 的示例显示在代码段中标有参考号 11 的行中:http://www.gebish.org/manual/current/#geb-saucelabs-plugin