2

我正在尝试运行分组的 TestNG 测试。给定的 xml 是 testng.xml 中的一个测试:

<test name="demo test" preserve-order="true">
       <groups>
         <run>
           <include name="openlogin"/>
           <include name="login"/>
           <include name="searchPatient"/>
           <include name="scheduleBySearch" />
           <include name="openDashboardFromPatientToday"/>
           <include name="openPatientChart"/>
           <include name="referralSearch"/>
           <include name="referralNotes"/>
           <include name="removeReferral"/>
           <include name="nonExistingReferralSearch"/>
         </run>

         <dependencies>
            <group name="removeReferral" depends-on="referralNotes"/>
            <group name="referralNotes" depends-on="referralSearch"/>
            <group name="referralSearch" depends-on="openPatientChart"/>
            <group name="openPatientChart" depends-on="openDashboardFromPatientToday"/>
            <group name="openDashboardFromPatientToday" depends-on="scheduleBySearch"/>
            <group name="scheduleBySearch" depends-on="searchPatient" />
            <group name="searchPatient" depends-on="login" />
            <group name="login" depends-on="openlogin"/>
         </dependencies>
        </groups>

        <classes>
         <class name="xtr.webaut.sanitytests.LoginTests"/>
         <class name="xtr.webaut.sanitytests.PatientSearchTest"/>
         <class name="xtr.webaut.sanitytests.PatientScheduleTests"/>
         <class name="xtr.webaut.sanitytests.PatientTodayTests"/>
         <class name="xtr.webaut.sanitytests.PatientDashboardViewTests"/>
         <class name="xtr.webaut.sanitytests.PatientChartReferralTests"/>
        </classes>
    </test>


这里有一个组“nonExistingReferralSearch”,我不想依赖于任何其他组。但我希望它以指定的顺序执行,并且我已将“保留顺序”设置为<test>. 在执行时,我发现TestNG并没有按顺序执行非依赖组。它在组“openlogin”之后立即执行该组,而我希望它最终执行。

定义依赖关系并告诉 TestNG 保持执行顺序是错误的吗?是否定义了一个未知的优先级,TestNG 将首先执行任何非依赖测试/组,然后执行依赖测试?我希望它不是那么死板。

即使对于一个通用场景<test>,是否不可能按顺序运行一些没有任何依赖关系的测试方法/组和一些具有依赖关系测试方法/组?

4

2 回答 2

3

我在套件中添加了保留顺序参数。测试按照我们指定的顺序运行。

<suite name="Suite" preserve-order="true">
于 2013-08-05T09:53:27.393 回答
0

Worked for me when I gave like this .

<test name="Suite" preserve-order="true"  parallel="false" enabled="true">
于 2021-03-25T11:31:36.823 回答