2017-12-04 3 views
0

Wenn haben die folgenden:Selen/testng: Wie Ihr Test basierend auf der Klasse Priorität laufen und nicht auf Ihrer Methode priorily aus der XML-Datei

Class A 
{ 
    Method M(priority = 2) 
} 

Class B 
{ 
    Method M(priority = 1) 
} 

Dann Class B vor Class A ausgeführt werden soll. Wie kann ich zuerst Class A ausführen?

Die XML-Datei, die ich verwende ist:

<classes> 
    <class name="com.Users.Admin_ManageUsers_AR"/> 
    <class name="com.Users.Admin_ManageUsers_AR"/> 
</classes> 
+0

Mögliches Duplikat [Priorität in TestNG mit mehreren Klassen] (https://stackoverflow.com/questions/26632241/priority-in-testng-with-multiple-classes) – Grasshopper

+0

Best Practice ist, dass jeder Test unabhängig von den anderen sein soll Lauf sie in beliebiger Reihenfolge sollte bevorzugt werden. – JeffC

Antwort

0

Verwenden group-by-instances="true" innerhalb Test-Tag des testng.xml

Definieren Sie Ihre xml wie unten:

<test name="ManageUsersTest" group-by-instances="true"> 
    <classes> 
     <class name="com.Users.Admin_ManageUsers_AR.ClassA" /> 
     <class name="com.Users.Admin_ManageUsers_AR.ClassB" /> 
    </classes> 
</test> 
0

Ich würde mit group-by-instances sowie von anderen beantwortet.

Alternativ können Sie Gruppen und Abhängigkeiten wie diese example in der Dokumentation verwenden

<test name="ManageUsersTest"> 
    <groups> 
    <dependencies> 
     <group name="c" depends-on="a b" /> 
     <group name="z" depends-on="c" /> 
    </dependencies> 
    </groups> 
</test> 

Das depends-on Attribut eine durch Leerzeichen getrennte Liste von Gruppen enthält.

Dies gibt Ihnen mehr Kontrolle, falls Sie Abhängigkeiten zwischen Klassen haben.

0

Eine implizite Möglichkeit zur Priorisierung der Testklassenausführung ist das Hinzufügen eines alphabetisch geordneten Präfixes in Klassennamen. Wie haben Sie Test-Klassen namens: Login, Checkout, Logout. Benennen Sie sie dann als TC01_login, TC02_checkout, TC03_logout um. Dies wird die Testausführung gemäß der TC_ {serial_number}

0

Verwenden Erhalter Ordnung in testng.xml Datei automatisch priorisieren, werden alle Klassen, um in testng.xml

zur Verfügung gestellt werden ausgeführt
<test name="Regression" preserve-order="true"> 
<classes> 
Verwandte Themen