Java Gradle间歇性不运行TestNG测试
我目前在使用Gradle运行TestNG Java测试时遇到了一些奇怪的行为。每次运行,似乎都没有生成随机数目的测试。它们既没有出现在测试报告中,也没有出现在Jenkins控制台输出中。它们显示为从当前的SVN版本中签出,但从我所看到的,它们甚至没有构建 奇怪的是,只有指定在Chrome中运行的测试才会出现这种情况。我正在测试的产品完全支持Chrome,而只部分支持Firefox,所以在构建文件中有一个“Chrome”组的排除项。这以前没有发生过,但我唯一的更新是SeleniumWebDriver和Chromedriver 这是我的build.gradle文件:Java Gradle间歇性不运行TestNG测试,java,selenium,jenkins,gradle,testng,Java,Selenium,Jenkins,Gradle,Testng,我目前在使用Gradle运行TestNG Java测试时遇到了一些奇怪的行为。每次运行,似乎都没有生成随机数目的测试。它们既没有出现在测试报告中,也没有出现在Jenkins控制台输出中。它们显示为从当前的SVN版本中签出,但从我所看到的,它们甚至没有构建 奇怪的是,只有指定在Chrome中运行的测试才会出现这种情况。我正在测试的产品完全支持Chrome,而只部分支持Firefox,所以在构建文件中有一个“Chrome”组的排除项。这以前没有发生过,但我唯一的更新是SeleniumWebDrive
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'
repositories {
mavenCentral()
}
dependencies {
compile "org.seleniumhq.selenium:selenium-java:2.37.0"
compile "org.testng:testng:5.14.10"
testCompile('org.uncommons:reportng:1.1.2') {
exclude group: 'org.testng'
}
testCompile "junit:junit:4.8.2"
compile "com.jayway.restassured:rest-assured:1.8.1"
}
//initialize thread count variable for parallel testing and default to 1
def threadCount = System.getProperty("MAXTHREADS", "1")
tasks.withType(Test) {
maxParallelForks = 1
forkEvery = 1000
ignoreFailures = false
// Pass all system properties to the tests
systemProperties = System.getProperties()
// Makes the standard streams (err and out) visible at console when running tests
testLogging.showStandardStreams = true
exclude '**/tasks/'
exclude '**/quarantine/'
classpath += configurations.testCompile
}
task firefox(type: Test) {
maxParallelForks = Integer.valueOf(threadCount) //default is 1 if not specified
testLogging.events "started"
testLogging {
events "started", "passed", "skipped", "failed", "standardOut", "standardError"
exceptionFormat "full" // default is "short"
}
useTestNG() {
excludeGroups 'chrome'
useDefaultListeners = false
listeners << 'org.uncommons.reportng.HTMLReporter'
listeners << 'org.uncommons.reportng.JUnitXMLReporter'
listeners << 'com.xmatters.testng.Listener'
}
testResultsDir = file("${buildDir}/test-results/firefox")
testReportDir = file("${reporting.baseDir}/firefox")
systemProperties.BROWSER = System.getProperty('BROWSER', 'firefox')
exclude '**/selenium/'
exclude '**/setupscripts/'
}
task chrome(type: Test) {
maxParallelForks = Integer.valueOf(threadCount) //default is 1 if not specified
testLogging.events "started"
useTestNG() {
useDefaultListeners = false;
listeners << 'org.uncommons.reportng.HTMLReporter'
listeners << 'org.uncommons.reportng.JUnitXMLReporter'
listeners << 'com.xmatters.testng.Listener'
}
testResultsDir = file("${buildDir}/test-results/chrome")
testReportDir = file("${reporting.baseDir}/chrome")
systemProperties.BROWSER = System.getProperty('BROWSER', 'chrome')
exclude '**/selenium/'
exclude '**/setupscripts/'
}
task internetExplorer(type: Test) {
useTestNG() {
excludeGroups 'chrome'
useDefaultListeners = false;
listeners << 'org.uncommons.reportng.HTMLReporter'
listeners << 'org.uncommons.reportng.JUnitXMLReporter'
listeners << 'com.xmatters.testng.Listener'
}
testReportDir = file("${reporting.baseDir}/internetExplorer")
testResultsDir = file("${buildDir}/test-results/internetExplorer")
systemProperties.BROWSER = System.getProperty('BROWSER', 'internetExplorer')
exclude '**/selenium/'
exclude '**/setupscripts/'
}
task applylicense(type: Test) {
useTestNG() {
useDefaultListeners = false;
listeners << 'org.uncommons.reportng.HTMLReporter'
listeners << 'org.uncommons.reportng.JUnitXMLReporter'
listeners << 'com.xmatters.testng.Listener'
}
testResultsDir = file("${buildDir}/test-results/applyLicense")
testReportDir = file("${reporting.baseDir}/applyLicense")
scanForTestClasses = false
include '**/setupscripts/ApplyLicense.class'
}
task uatsetup(type: Test) {
useTestNG() {
useDefaultListeners = false;
listeners << 'org.uncommons.reportng.HTMLReporter'
listeners << 'org.uncommons.reportng.JUnitXMLReporter'
listeners << 'com.xmatters.testng.Listener'
}
testResultsDir = file("${buildDir}/test-results/uatSetup")
testReportDir = file("${reporting.baseDir}/uatSetup")
scanForTestClasses = false
include '**/setupscripts/UatSetup.class'
}
task restsetup(type: Test) {
useTestNG() {
useDefaultListeners = false;
listeners << 'org.uncommons.reportng.HTMLReporter'
listeners << 'org.uncommons.reportng.JUnitXMLReporter'
listeners << 'com.xmatters.testng.Listener'
}
testResultsDir = file("${buildDir}/test-results/restSetup")
testReportDir = file("${reporting.baseDir}/restSetup")
scanForTestClasses = false
include '**/setupscripts/RestSetup.class'
}
task soapsetup(type: Test) {
useTestNG() {
useDefaultListeners = false;
listeners << 'org.uncommons.reportng.HTMLReporter'
listeners << 'org.uncommons.reportng.JUnitXMLReporter'
listeners << 'com.xmatters.testng.Listener'
}
testResultsDir = file("${buildDir}/test-results/soapSetup")
testReportDir = file("${reporting.baseDir}/soapSetup")
scanForTestClasses = false
include '**/setupscripts/SoapSetup.class'
}
task selenium(type: Test) {
testResultsDir = file("${buildDir}/test-results/selenium")
testReportDir = file("${reporting.baseDir}/selenium")
include '**/selenium/'
exclude '**/webdriver/'
exclude '**/*$*', '**/Abstract*'
exclude '**/messagepanel/'
exclude '**/propertylibrary/'
}
javadoc() {
title = "xMod Page Objects API"
}
task wrapper(type: Wrapper) {
gradleVersion = '1.7'
}
apply插件:“java”
应用插件:“创意”
应用插件:“eclipse”
存储库{
mavenCentral()
}
依赖关系{
编译“org.seleniumhq.selenium:seleniumjava:2.37.0”
编译“org.testng:testng:5.14.10”
testCompile('org.uncommons:reportng:1.1.2'){
排除组:“org.testng”
}
testCompile“junit:junit:4.8.2”
编译“com.jayway.restassed:rest-assured:1.8.1”
}
//初始化并行测试的线程计数变量,默认值为1
def threadCount=System.getProperty(“MAXTHREADS”,“1”)
任务。withType(测试){
maxParallelForks=1
forkEvery=1000
忽略失败=错误
//将所有系统属性传递给测试
systemProperties=System.getProperties()
//使标准流(err和out)在运行测试时在控制台上可见
testLogging.showStandardStreams=true
排除'**/tasks/'
排除'**/quantial/'
classpath+=configurations.testCompile
}
任务firefox(类型:测试){
maxParallelForks=Integer.valueOf(threadCount)//如果未指定,则默认值为1
testLogging.events“已启动”
测试记录{
事件“已启动”、“已通过”、“已跳过”、“失败”、“标准输出”、“标准错误”
exceptionFormat“full”//默认为“short”
}
useTestNG(){
排除组“chrome”
useDefaultListeners=false
听众