我正在尝试运行分组的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”组,我不想依赖任何其他组。但是我希望它以指定的顺序执行,并且我将{preserve-order“设置为<test>
的true。执行时,我发现TestNG没有按顺序执行非依赖组。它在“openlogin”组之后立即执行该组,而我希望它最终会被执行。
定义依赖关系以及告诉TestNG维持执行顺序是错误的吗?是否存在未知优先级,TestNG将首先执行任何非依赖测试/组,然后执行依赖测试?我希望不是那么不灵活
即使对于<test>
中的通用场景,是否无法运行某些测试方法/组而没有任何依赖关系,并且某些测试方法/组具有依赖关系,按顺序?
答案 0 :(得分:1)
我在套件中添加了preserve-order参数。测试按照我们指定的顺序运行。
<suite name="Suite" preserve-order="true">
答案 1 :(得分:0)
当我这样付出时为我工作。
<test name="Suite" preserve-order="true" parallel="false" enabled="true">