我遇到了以下问题,我在 jenkins 上运行了我所有的测试,我目前的 22 个测试中有 10 个失败。这些测试链接到 Testlink 以报告其结果。
当我单独运行这些测试时,它们运行完美,要么失败要么通过,但是当我运行 2 个不同的类时。这是问题的开始,一些测试用例失败是因为它们找不到构建计划,这意味着无法找到要报告结果的测试用例。而且我 100% 确定我传递它们的参数是正确的,因为我单独运行它们。
这是 testng.xml 及其格式的示例。
<parameter name="nombrePlan" value="test1" />
<parameter name="nombreBuild" value="test1build" />
<parameter name="nomTL_1" value="1"/>
<parameter name="nomTL_2" value="2"/>
<parameter name="nomTL_3" value="3"/>
<test name="Test1">
<classes>
<class name="com.example.testClass1">
<methods>
<include name ="test1" />
<include name ="test2" />
<include name ="test3" />
</methods>
</class>
</classes>
</test>
<parameter name="nombrePlan" value="test2" />
<parameter name="nombreBuild" value="test2build" />
<parameter name="nomTL_4" value="4" />
<parameter name="nomTL_5" value="5" />
<parameter name="nomTL_6" value="6" />
<parameter name="nomTL_7" value="7"/>
<parameter name="nomTL_8" value="8"/>
<test name="test2">
<classes>
<class
name="com.example.testClass2">
<methods>
<include name="test4" />
<include name="test5" />
<include name="test6" />
<include name="test7"/>
<include name="test8"/>
</methods>
</class>
</classes>
</test>
这是一个测试的例子:
@Parameters({"nombrePlan", "nombreBuild", "nomTL_1"})
@Test
public void checkMenuElements (String nombrePlan, String nombreBuild, String nomTL_1) throws Exception {
String resultado = null;
String nota = null;
try {
Class abc = new Class(driver);
abc.navigateToAbc();
Test test1 = new Test(driver);
test1.checkMenuElements();
resultado = TestLinkAPIResults.TEST_PASSED;
}catch(AssertionError a){
resultado = TestLinkAPIResults.TEST_FAILED;
nota = a.getMessage();
}catch (Exception e) {
resultado = TestLinkAPIResults.TEST_FAILED;
nota = e.getMessage();
}
finally {
ResultadoExecucao.reportTestCaseResult(PROJETO, nombrePlan, nomTL_1, nombreBuild, nota, resultado);
}
}
任何帮助,将不胜感激。