Как закрыть несколько окон, работающих с платформой Test NG
Предположим, у меня есть 5 тестовых примеров, а 2-й и 3-й тесты не пройдены, поэтому после оператора Assert.assertEquals (" http://www.demo.guru99.com/V4/manager/Managerhomepage.php", driver.getCurrentUrl ());
driver.close не будет работать. Как закрыть все окна тоже не удалось один раз
Попытка с ручкой окна тоже, но не получить удовлетворительных результатов.
публичный статический драйвер WebDriver;
@Test(dataProvider="inputdata")
public void login(String val1,String val2){
System.setProperty("webdriver.chrome.driver","C:/Users/rakesh/Desktop/chromedriver.exe");
driver =new ChromeDriver();
driver.get("http://www.demo.guru99.com/V4/");
driver.findElement(By.name("uid")).sendKeys(val1);
driver.findElement(By.name("password")).sendKeys(val2);
driver.findElement(By.name("btnLogin")).click();
Assert.assertEquals("http://www.demo.guru99.com/V4/manager/Managerhomepage.php",driver.getCurrentUrl());
driver.close();
}
@DataProvider(name="inputdata")
public Object[][] readExcel() throws BiffException, IOException {
File f= new File("C:/Users/rakesh/Desktop/selenium/input data/loginTable.xls");
Workbook w =Workbook.getWorkbook(f);
Sheet s= w.getSheet("Sheet1");
int rows=s.getRows();
int columns=s.getColumns();
//System.out.println(rows);
//System.out.println(columns);
String inputData [][] = new String[rows][columns];
for(int i=0;i<rows;i++){
for(int j=0;j<columns;j++){
Cell c=s.getCell(j,i);
inputData[i][j]=c.getContents();
//System.out.println(inputData[i][j]);
}
}
return inputData;
}
1 ответ
Одним из способов является использование текущего junit
версия 4.12
и объявить @After
метод, который будет выполняться после каждого @Test
метод -
Метод, помеченный @After, выполняется после выполнения каждого теста.
@After
public void closeConnection(){
driver.close();
}
Но тогда это также закроет соединение, даже если тест пройден. Таким образом, для реализации действий, основанных на результатах теста, вы можете попробовать использовать TestWatcher
за джунит соответственно.