Не все тесты в наборе выполняются в TestNG - PullRequest
0 голосов
/ 28 января 2019

Я использую eclipse для выполнения набора, но не может быть выполнен только третий тестовый пример (Test3).После выполнения (Test2) он перейдет к (Test4), а не к (Test3).

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="SeleniumTestSuite" verbose="1">
    <test name="Test1">
      <classes>
        <class name="sel1318_usercreation_author.UserCreation"></class>
      </classes>
    </test>
    <test name="Test2">
      <classes>
        <class name="sel1319_userprofileupdate_author.UserProfileUpdate"></class>
      </classes>
    </test>
    <test name="Test3">
      <classes>
        <class name="sel1320_customercreation_corporate.CustomerCreation"></class>
      </classes>
    </test>
    <test name="Test4">
      <classes>
        <class name="sel1321_customerdeletion_corporate.CustomerDeletion"></class>
      </classes>
    </test>
    <test name="Test5">
      <classes>
        <class name="sel1322_userinactive_author.UserInactive"></class>
      </classes>
    </test>
    <test name="Test6">
      <classes>
        <class name="sel1323_userdeletion_author.UserDeletion"></class>
      </classes>
    </test>
</suite>

Это код для Test4.По сути, этот тест предназначен для удаления клиента, поэтому Test3 создаст клиента.Кроме того, пароль пользователя будет изменен в Test3.Поэтому, когда TestNG переходит на Test4, пользователь не может войти, потому что пароль должен быть другим.

package sel1321_customerdeletion_corporate;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.Test;
@Test
public class CustomerDeletion {
{
		
	    System.setProperty("webdriver.gecko.driver","C:\\selenium\\geckodriver-v0.23.0-win64\\geckodriver.exe");
		
		WebDriver driver = new FirefoxDriver();
		
		driver.get("");	
		
		driver.manage().window().maximize(); 
		driver.switchTo().frame("containerFrame");
		
		//Login Author
		WebDriverWait wait = new WebDriverWait(driver, 20);
		wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@name='userName']")));
		driver.findElement(By.xpath("//input[@name='userName']")).click();
		driver.findElement(By.xpath("//input[@name='userName']")).sendKeys("sele1");
		driver.findElement(By.xpath("//input[@name='password']")).click();
		driver.findElement(By.xpath("//input[@name='password']")).sendKeys("password1");
		driver.findElement(By.name("submitLogin")).click();
		
		//Delete Customer
		driver.findElement(By.id("menu5")).click();
		Actions hover = new Actions(driver);
		WebElement element = driver.findElement(By.xpath("//div[@id='hel19']/div"));
		hover.moveToElement(element).build().perform();
		driver.findElement(By.id("el2")).click();
		driver.findElement(By.name("customerName")).sendKeys("Selenium_Cust39");
		driver.findElement(By.id("AddNew24")).click();
		driver.findElement(By.linkText("SELENIUM_CUST39")).click();
		driver.findElement(By.linkText("Delete")).click();
		driver.findElement(By.id("AddNew24")).click();
		Alert alt = driver.switchTo().alert();
		alt.accept();
		driver.findElement(By.linkText("Logout")).click();
		driver.close();
		Assert.assertEquals("Pass", "Pass");
		
   }

}

1 Ответ

0 голосов
/ 28 января 2019

В вашем классе CustomerDeletion весь код написан в анонимном блоке, из-за чего он не выполняется, когда вы пытаетесь запустить его через свой testng.xml.

Вы должны поместить кодв метод внутри класса, а затем код будет выполнен через testng.xml

Например:

@Test
public class CustomerDeletion {
    //Make a method inside which you will be writing the whole code
   public void customerDeletionMethod(){
    //Copy Paste your code here
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...