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