2017-10-09 16 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に変更すると、これを達成できます。

あなたがloginメソッドが最初に実行されることを確認する必要がある場合は、次のように、あなたが他のテストに注釈を付けることができます。

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

それともあなたが同様に@BeforeClassにログイン方法の内容を置くことができます。

関連する問題