我使用 gradle 从 Jenkins 运行我的 testNG 测试。看看gradle 文档。
我使用配置 xml 文件运行 testNG 测试。看看testNG 文档。
有很多内容要介绍,所以我建议阅读这些资源,但我会从我的配置中提供一些相关的部分。
我的 build.gradle 中的相关部分
tasks.withType(Test) {
useTestNG {
useDefaultListeners = true
}
options {
outputDirectory = file('test-report')
listeners << 'org.uncommons.reportng.JUnitXMLReporter'
}
testLogging.showStandardStreams = true
systemProperties System.getProperties()
systemProperty "org.uncommons.reportng.escape-output", "false"
systemProperty "org.uncommons.reportng.title", "Test Report"
ignoreFailures = true
}
task Smoke_Test(type: Test) {
description "SmokeTest"
options.suites("resources/testng-smoketest.xml")
ignoreFailures = false
}
上面提到的我的 testNG xml 'testng-smoketest.xml'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Smoke Tests" >
<test name="BootCheck" parallel="false" thread-count="1">
<classes>
<class name="com.x.automation.y.tests.smoke.BootCheck" />
</classes>
</test>
</suite>
从 Jenkins 开始,作为“执行 shell”构建步骤运行 gradle 任务,为了方便起见,我使用 gradle 包装器。
./gradlew clean Smoke_Test
确保您位于正确的目录中,“Smoke_Test”是 build.gradle 中指定的名称。
你可以使用 testNG Jenkins 插件来保存你的结果。
我还建议使用reportng来很好地格式化您的测试报告,也可以使用 HTML Publisher 插件在 Jenkins 中显示和保存。
首先尝试从本地计算机上的 CLI 运行它,尝试在从 Jenkins 运行时进行调试会让你发疯。