[英]Set Priority in Selenium WebDriver
我正在使用selenium webdriver。 我寫過兩種方法
1)addUserWithOutFirstName()2)addUserWithOutGeneratingLicenceKey()
最初,addUserWithOutFirstName()的優先級設置為0,addUserWithOutGeneratingLicenceKey()的優先級設置為1。 現在我想將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() });
}
}
}
如果您正在使用Eclipse> goto Project> Clean>選擇您的項目。
然后選擇您的testng.xml>作為TestNG Suite運行。
您應該嘗試使用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>
希望它會對你有所幫助。
不要使用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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.