TESTNG测试运行顺序

时间:2017-10-09 15:19:11

标签: java testng

我是TESTNG的新手。 我做了一个检查成功登录的测试方法。 但是如何在没有关闭浏览器的情况下继续进行,即使用相同的浏览器。我想按顺序运行测试,即登录后将执行下一个测试。如果我在现有类中添加一个新方法,那么它就不会运行相同的浏览器

@BeforeMethod        
public void beforeMethod() throws Exception 
{               
//setting paths from env property file              
driverPath = read_trans.getProperty("driverPath");
System.setProperty("webdriver.chrome.driver",driverPath+"chromedriver.exe");
driver = new ChromeDriver();     
}   


@Test           
public void check_successfull_login() throws InterruptedException
{            
String TestCaseName="L1";   
//TestCaseName = read_trans.getProperty("TestCaseName");

excel_read dp=new excel_read();
String[] credentials=dp.get_credentials(TestCaseName);

driver.manage().window().maximize();
read_trans.getProperty("URL");
//System.out.println(A);
driver.navigate().to(read_trans.getProperty("URL"));
wait = new WebDriverWait(driver,5);     
driver.findElement(By.xpath("//div[@class='navbar']/a")).click();

driver.findElement(By.xpath("//div[@class='navbar']/div[2]/ul/a")).click();
driver.findElement(By.xpath("//div[@class='pan")).sendKeys(credentials[0]);

driver.findElement(By.xpath("//input[@.....']")).sendKeys(credentials[1]);      
driver.findElement(By.xpath("//button[@class='btn ....']")).click();


} `

1 个答案:

答案 0 :(得分:0)

如果要在测试中重用driver,则需要在测试之前将其初始化一次,而不是在每种测试方法之前初始化。

您可以通过将@BeforeMethod注释更改为@BeforeClass来实现这一目标。

如果您需要确保首先运行登录方法,您可以按如下方式注释其他测试:

@Test(dependsOnMethods="check_successfull_login") public void otherTest() {}

或者您也可以将登录方法的内容放在@BeforeClass中。