2017-05-03 6 views
1

Ich arbeite mit Selen-Webdriver. Ich habe 2 MethodenSet Priorität in Selen WebDriver

1) addUserWithOutFirstName() 2) addUserWithOutGeneratingLicenceKey() geschrieben

Zunächst wird die Priorität 0 für addUserWithOutFirstName() und 1 für addUserWithOutGeneratingLicenceKey() gesetzt wurde. Jetzt möchte ich die Priorität von addUserWithOutGeneratingLicenceKey() als 0 und addUserWithOutFirstName() als 1 ändern. Ich habe die Prioritäten geändert. Aber immer noch addUserWithOutFirstName() wird zuerst ausgeführt.

Weiß nicht, was das Problem ist. Kann jemand helfen?

/* Benutzer hinzufügen, ohne Lizenzschlüssel erzeugen */

@Test(priority=0) 
public void addUserWithOutGeneratingLicenceKey() throws BiffException, IOException,InterruptedException { 

    try { 
     int successfullLoginRowNumber = 6; 
     Thread.sleep(2000); 
     WebElement username = webElement("VAR_EMAIL"); 
     username.clear(); 
     username.sendKeys(getCellContent(0, successfullLoginRowNumber)); 
     Thread.sleep(2000); 
     WebElement password = webElement("VAR_PASSWORD"); 
     password.clear(); 
     password.sendKeys(getCellContent(1, successfullLoginRowNumber)); 
     Thread.sleep(2000); 
     WebElement signInButton = webElement("VAR_SIGNINBUTTON"); 
     signInButton.click(); 
     Thread.sleep(2000); 
     input(properties.getProperty("VAR_ADDUSERDETAILS")); 
     int emptyLicenceKeyRowNumber = 1; 
     WebElement firstName = webElement("VAR_FIRSTNAME"); 
     firstName.clear(); 
     firstName.sendKeys(getCellContent(0, emptyLicenceKeyRowNumber)); 
     Thread.sleep(1000); 
     WebElement lastName = webElement("VAR_LASTNAME"); 
     lastName.clear(); 
     lastName.sendKeys(getCellContent(1, emptyLicenceKeyRowNumber)); 
     Thread.sleep(1000); 
     WebElement email = webElement("VAR_ADDUSEREMAIL"); 
     email.clear(); 
     email.sendKeys(getCellContent(2, emptyLicenceKeyRowNumber)); 
     Thread.sleep(1000); 
     WebElement countryCode = webElement("VAR_COUNTRYCODE"); 
     countryCode.clear(); 
     countryCode.sendKeys(getCellContent(3, emptyLicenceKeyRowNumber)); 
     Thread.sleep(1000); 
     WebElement phoneNumber = webElement("VAR_PHONENUMBER"); 
     phoneNumber.clear(); 
     phoneNumber.sendKeys(getCellContent(4, emptyLicenceKeyRowNumber)); 
     Thread.sleep(1000); 
     List<WebElement> allUserTypes = driver.findElements(By.xpath("//*[@id='add_user']/div/div[5]/div[1]/div/div/div/div/label")); 
     for (WebElement ele : allUserTypes) { 
      String userType = ele.getText(); 
      String user= getCellContent(5, emptyLicenceKeyRowNumber); 
      if (userType == user) { 
       ele.click(); 
       break; 
      } 
     } 
     Thread.sleep(1000); 
     List<WebElement> allCountry = driver.findElements(By.xpath("//*[@id='add_user']/div/div[5]/div[2]/div/div/div/label")); 
     for (WebElement ele : allCountry) { 
      String country = ele.getText(); 
      String cntry= getCellContent(6, emptyLicenceKeyRowNumber); 
      if (country == cntry) { 
       ele.click(); 
       break; 
      } 
     } 
     Thread.sleep(1000); 
     WebElement organization = webElement("VAR_ORGANIZATION"); 
     organization.clear(); 
     organization.sendKeys(getCellContent(7, emptyLicenceKeyRowNumber)); 
     Thread.sleep(1000); 
     List<WebElement> allDomains = driver.findElements(By.xpath("//*[@id='add_user']/div/div[7]/div[2]/div/div/div/label")); 
     for (WebElement ele : allDomains) { 
      String domain = ele.getText(); 
      String dmn= getCellContent(8, emptyLicenceKeyRowNumber); 
      if (domain == dmn) { 
       ele.click(); 
       break; 
      } 
     } 
     Thread.sleep(1000); 
     WebElement licenceKey = webElement("VAR_LICENCEKEY"); 
     licenceKey.click(); 
     Thread.sleep(1000); 
     if (driver.findElement(By.className("disabled")) != null) { 
      testresultdata.put("14", new Object[] { 13d, "Add User","Add User without generating licence key","Should not be possible to add user","Should not be possible to add user", "Pass" }); 
     } 
    } catch (Exception e) { 
     if (driver.findElement(By.className("disabled")) == null) { 
      testresultdata.put("14", new Object[] { 13d, "Add User","Add User without generating licence key","Should not be possible to add user", "Possible to add user","Fail", e.getMessage() }); 
     } 
    } 
} 


/* Add user without entering first name */ 

@Test(priority=1) 
public void addUserWithOutFirstName() throws BiffException, IOException,InterruptedException { 

    try { 
     int successfullLoginRowNumber = 6; 
     Thread.sleep(2000); 
     WebElement username = webElement("VAR_EMAIL"); 
     username.clear(); 
     username.sendKeys(getCellContent(0, successfullLoginRowNumber)); 
     Thread.sleep(2000); 
     WebElement password = webElement("VAR_PASSWORD"); 
     password.clear(); 
     password.sendKeys(getCellContent(1, successfullLoginRowNumber)); 
     Thread.sleep(2000); 
     WebElement signInButton = webElement("VAR_SIGNINBUTTON"); 
     signInButton.click(); 
     Thread.sleep(2000); 
     input(properties.getProperty("VAR_ADDUSERDETAILS")); 
     int emptyFirstNameRowNumber = 2; 
     WebElement addUser = webElement("VAR_ADDUSER"); 
     addUser.click(); 
     Thread.sleep(2000); 
     WebElement firstName = webElement("VAR_FIRSTNAME"); 
     firstName.clear(); 
     firstName.sendKeys(getCellContent(0, emptyFirstNameRowNumber)); 
     Thread.sleep(1000); 
     WebElement lastName = webElement("VAR_LASTNAME"); 
     lastName.clear(); 
     lastName.sendKeys(getCellContent(1, emptyFirstNameRowNumber)); 
     Thread.sleep(1000); 
     WebElement email = webElement("VAR_ADDUSEREMAIL"); 
     email.clear(); 
     email.sendKeys(getCellContent(2, emptyFirstNameRowNumber)); 
     Thread.sleep(1000); 
     WebElement countryCode = webElement("VAR_COUNTRYCODE"); 
     countryCode.clear(); 
     countryCode.sendKeys(getCellContent(3, emptyFirstNameRowNumber)); 
     Thread.sleep(1000); 
     WebElement phoneNumber = webElement("VAR_PHONENUMBER"); 
     phoneNumber.clear(); 
     phoneNumber.sendKeys(getCellContent(4, emptyFirstNameRowNumber)); 
     Thread.sleep(1000); 
     List<WebElement> allUserTypes = driver.findElements(By.xpath("//*[@id='add_user']/div/div[5]/div[1]/div/div/div/div/label")); 
     for (WebElement ele : allUserTypes) { 
      String userType = ele.getText(); 
      String user= getCellContent(5, emptyFirstNameRowNumber); 
      if (userType.equals(user)) { 
       ele.click(); 
       break; 
      } 
     } 
     Thread.sleep(1000); 
     List<WebElement> allCountry = driver.findElements(By.xpath("//*[@id='add_user']/div/div[5]/div[2]/div/div/div/label")); 
     for (WebElement ele : allCountry) { 
      String country = ele.getText(); 
      String cntry= getCellContent(6, emptyFirstNameRowNumber); 
      if (country.equals(cntry)) { 
       ele.click(); 
       break; 
      } 
     } 
     Thread.sleep(1000); 
     WebElement organization = webElement("VAR_ORGANIZATION"); 
     organization.clear(); 
     organization.sendKeys(getCellContent(7, emptyFirstNameRowNumber)); 
     Thread.sleep(1000); 
     List<WebElement> allDomains = driver.findElements(By.xpath("//*[@id='add_user']/div/div[7]/div[2]/div/div/div/label")); 
     for (WebElement ele : allDomains) { 
      String domain = ele.getText(); 
      String dmn= getCellContent(8, emptyFirstNameRowNumber); 
      if (domain.equals(dmn)) { 
       ele.click(); 
       break; 
      } 
     } 
     Thread.sleep(1000); 
     WebElement licenceKey = webElement("VAR_LICENCEKEY"); 
     licenceKey.click(); 
     Thread.sleep(1000); 
     if (driver.findElement(By.xpath("//*[@id='add_user']/div/div[9]/div/div")) != null) { 
      testresultdata.put("14", new Object[] { 13d, "Add User","Add User without entering first name","Should not be possible to add user","Should not be possible to add user", "Pass" }); 
     } 
    } catch (Exception e) { 
     if (driver.findElement(By.xpath("//*[@id='add_user']/div/div[9]/div/div")) == null) { 
      testresultdata.put("14", new Object[] { 13d, "Add User","Add User without entering first name","Should not be possible to add user", "Possible to add user","Fail", e.getMessage() }); 
     } 
    } 
} 
+0

Können Sie Code davon teilen, damit es ein klares Bild davon zeigen kann – RNS

+0

Code wird in der Frage – Amrutha

+0

@Kushal aktualisiert Antwort sollte funktionieren. Wenn nicht, kannst du deine testng.xml teilen und deine Frage aktualisieren? – DebanjanB

Antwort

0

Wenn Verwendung von Eclipse> goto Projekt> Reinigen> Ihr Projekt auswählen.

Wählen Sie dann Ihre testng.xml> als TestNG-Suite ausführen.

+0

hast du gerade meine Antwort getippt :) – DebanjanB

+0

Nun bin ich schnell;) – kushal

0

Anstelle der Priorität sollten Sie versuchen, dependsOnMethods zu verwenden.

folgenden Code wird Ihnen helfen:

import org.testng.Assert; 
import org.testng.annotations.Test; 

public class DependencyAnnotation { 

    @Test(dependsOnMethods = { "addUserWithOutFirstName" }) 
    public void addUserWithOutGeneratingLicenceKey() { 
     System.out.println("Inside addUserWithOutGeneratingLicenceKey"); 
    } 

    @Test 
    public void addUserWithOutFirstName() { 
     System.out.println("This is addUserWithOutFirstName"); 
    } 
} 

Dann sind Sie für testng.xml Datei Code

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 

<suite name="Suite1"> 
    <test name="test1"> 
     <classes> 
     <class name="DependencyAnnotation" /> 
     </classes> 
    </test> 
</suite> 

Hoffe, es wird Ihnen helfen.

0

Verwenden Sie keine Priorität = 0.

Für mich @ Test (Priorität = 1) und @ Test (Priorität = 2) wie vorgesehen arbeiten.

Dann, wenn Sie weitere Kontrolle über Ihre Tests möchten, können Sie die dependsOnMethods mit der Priorität kombiniert hinzufügen

@Test (priority=1) 
public void method1(){ 
} 

@Test (priority=2, dependsOnMethods="method1") 
public void method2(){ 
} 

@Test (priority=3, dependsOnMethods="method2") 
public void method3(){ 
} 

@Test (priority=4) 
public void method4(){ 
} 

In dem obigen Beispiel alle Verfahren wird 1-4 sequenziell ausgeführt werden. Wenn aus irgendeinem Grund Methode 1 fehlschlägt, dann werden Methoden 2 übersprungen (wie es von Methode # 1 abhängt). Ähnlich wird Methode # 3 ebenfalls übersprungen (wie es von # 2 abhängt). Schließlich kann das nächste Verfahren im Fall von 1 # andernfalls, bis 4.

  • 1-FAIL
  • 2-SKIPPED
  • 3-SKIPPED
  • 4-RUN
  • wird ausgeführt