preserve-order set true不会按顺序运行TestNG测试,并且已定义组依赖项

时间:2013-08-05 07:23:32

标签: webdriver testng

我正在尝试运行分组的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>中的通用场景,是否无法运行某些测试方法/组而没有任何依赖关系,并且某些测试方法/组具有依赖关系,按顺序

2 个答案:

答案 0 :(得分:1)

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

<suite name="Suite" preserve-order="true">

答案 1 :(得分:0)

当我这样付出时为我工作。

<test name="Suite" preserve-order="true"  parallel="false" enabled="true">
相关问题