1
public class YourTestClass {
WebDriver driver; // You need to initialize your WebDriver

@Test(dataProvider = "data-provider",enabled=true,dataProviderClass = DP.class)
public void verifyUser_registration_login_logout_test(Method method,String UserName, String Password){
    Assertion assertion = new Assertion();
    try{
    HomePage homePage = new HomePage(driver);
    homePage.navigateToHomePage();
    RegisterPage registerPage = new RegisterPage(driver);
    registerPage.navigateToRegisterPage();
    registerPage.verifyRegisterPage();
    registerPage.performRegister(UserName,Password);
    LoginPage loginPage = new LoginPage(driver);
    loginPage.performLogin(UserName,Password);
    homePage.verifyUserLoggedIn(UserName);
    homePage.clickOnLogoutButton();
    WebDriverWait wait = new WebDriverWait(driver, 30);
    driver.navigate().refresh();
    wait.until(ExpectedConditions.urlToBe("SOMEURL"));
    homePage.verifyUserLoggedOut();
}catch(Exception e){
    logStatus("Page test", "navigation to registration page", "failed");
        e.printStackTrace();
   }
}   

public class DP { static String excelPath = "app/src/test/resources/DatasetsSOMEURL.xlsx";

public DP(String excelPath) {
    DP.excelPath = excelPath;
}

@DataProvider(name = "data-provider")
public static Object[][] dataProviderMethod(Method method) throws IOException {
    int rowIndex = 0;
    int cellIndex = 0;
    List<List> outputList = new ArrayList<List>();
    FileInputStream excelFile = new FileInputStream(new File(excelPath));

    try (Workbook workbook = new XSSFWorkbook(excelFile)) {
        Sheet selectedSheet = workbook.getSheet(method.getName());
        Iterator<Row> iterator = selectedSheet.iterator();

        while (iterator.hasNext()) {
            Row nextRow = iterator.next();
            Iterator<Cell> cellIterator = nextRow.cellIterator();
            List<String> innerList = new ArrayList<String>();

            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();

                if (rowIndex > 0 && cellIndex > 0) {
                    String cellValue = "";

                    switch (cell.getCellType()) {
                        case STRING:
                            cellValue = cell.getStringCellValue();
                            break;
                        case NUMERIC:
                            cellValue = String.valueOf(cell.getNumericCellValue());
                            break;
                        default:
                            throw new UnsupportedOperationException("Unsupported Cell Type: " + cell.getCellType());
                    }

                    innerList.add(cellValue);
                }

                cellIndex++;
            }

            if (!innerList.isEmpty()) {
                outputList.add(innerList);
            }

            rowIndex++;
        }
    }

    Object[][] data = new Object[outputList.size()][];
    for (int i = 0; i < outputList.size(); i++) {
        data[i] = outputList.get(i).toArray(new String[0]);
    }

    return data;
}

}

when I run this , my test is getting skipped, with below Error: DP.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.

Task :app:test Gradle Test Executor 1 STANDARD_ERROR log4j:WARN No appenders could be found for logger (org.testng.internal.Graph). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. .tests.testCase_01 > verifyUser_registration_login_logout_test SKIPPED TEST SUMMARY: RAN 1 TESTS, 0 SUCCEEDED, 0 FAILED, 1 SKIPPED

Anjani Kumar
  • 396
  • 1
  • 5
  • 23

0 Answers0