0

我遇到了以下问题,我在 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);
    }   
}

任何帮助,将不胜感激。

4

0 回答 0