Как закрыть несколько окон, работающих с платформой 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 за джунит соответственно.

Другие вопросы по тегам