2017-10-09 266 views
0

我在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(); 


} ` 

回答

0

如果你想整個測試重用driver,你需要在測試之前,而不是每個測試方法之前,爲了初始化它。

您可以通過將@BeforeMethod註釋更改爲@BeforeClass來實現此目的。

如果再需要確保登錄方法首先運行,你可以註釋其他測試如下:

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

或者你可以把在@BeforeClass登錄方法的內容,以及。