2017-05-03 117 views
1

我正在使用selenium webdriver。我已经写2种方法在Selenium WebDriver中设置优先级

1)addUserWithOutFirstName() 2)addUserWithOutGeneratingLicenceKey()

最初的优先级是为addUserWithOutFirstName设定0()和1 addUserWithOutGeneratingLicenceKey()。现在我想将addUserWithOutGeneratingLicenceKey()的优先级更改为0,并将addUserWithOutFirstName()更改为1.我已更改优先级。但addUserWithOutFirstName()仍然是首先执行的。

不知道是什么问题。任何人都可以帮忙吗?

/*添加用户,而不会产生许可密钥*/

@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

你能分享它的代码,因此它可以显示它的清晰图片 – RNS

+0

代码在问题中更新 – Amrutha

+0

@kushal答案应该工作。如果它不能分享你的testng.xml并更新你的问题? – DebanjanB

回答

0

如果您使用的是Eclipse>转到项目>清洁>选择您的项目。

然后选择您的testng.xml>作为TestNG Suite运行。

+0

你刚刚输入我的答案:) – DebanjanB

+0

嗯,我很快;) – kushal

0

而不是优先级,你应该尝试使用dependsOnMethods

下面的代码将帮助您:

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"); 
    } 
} 

然后检查的testng.xml文件代码

<?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> 

希望它会帮助你。

0

不要使用priority = 0。

对于我@Test(优先级= 1)和@Test(优先级= 2)按预期工作。

然后如果你想你的测试进一步的控制,你可以添加dependsOnMethods与优先

@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(){ 
} 

结合在上面的例子中的所有方法1-4会按顺序执行。如果由于某些原因方法1失败,则方法2将被跳过跳过(因为它取决于方法#1)。同样方法#3也会被跳过(因为它取决于#2)。 最后,在#1失败的情况下,要执行的下一个方法将是4.

  • 1- FAIL
  • 2- SKIPPED
  • 3- SKIPPED
  • 4-RUN