我是一名实习生,目前在一家大公司工作。
在我的测试自动化项目(github)中,在同一项目中有两个不同团队进行的两个测试,因此有两个Cucumber JUnit文件。我不知道如何分别运行这两者,因此我进行搜索,而目前的做法是将它们拆分为两个Gradle任务。
task ivtTest() {
dependsOn assemble, compileTestJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--plugin', 'html:cucumber.html', '--plugin', 'pretty','--plugin', 'json:cucumber.json', '--glue', '<glue location>', '<feature file location>']
}
}
}
task svtTest() {
dependsOn assemble, compileTestJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--plugin', 'html:cucumber.html', '--plugin', 'pretty','--plugin', 'json:cucumber.json', '--glue', '<glue location>', '<feature file location>']
}
}
}
现在我需要将此与Jenkins集成。我在这里阅读了文档:Continuos Build - Cucumber。这样做的方式是:
node {
stage('Generate HTML report') {
cucumber buildStatus: 'UNSTABLE',
fileIncludePattern: '**/*.json',
trendsLimit: 10,
classifications: [
[
'key': 'Browser',
'value': 'Firefox'
]
]
}
}
我猜它运行JUnit文件吗?它没有显示使用Gradle任务的方法。
由于我有两个JUnit,它将同时运行两个JUnit吗?有没有办法使用Gradle任务?
如果这是一个愚蠢的问题,我感到抱歉。我还是所有这一切的新手。我不在我的大学学习。
答案 0 :(得分:0)
您可以使用以下类似方法在管道中运行Gradle任务:
stages {
stage('Gradle tasks') {
steps {
sh 'bash ./gradlew ivtTest'
sh 'bash ./gradlew svtTest'
}
}
stage('Generate HTML report') {
cucumber buildStatus: 'UNSTABLE',
fileIncludePattern: '**/*.json',
trendsLimit: 10,
classifications: [
[
'key': 'Browser',
'value': 'Firefox'
]
]
}
}
这是如果Jenkins在Linux服务器上运行,如果它在Windows服务器上运行,则将sh
替换为bat
。