I created a login script that contains a username and password.
I have an excel sheet in which the result is updated as pass if the username and password are correct.
But if the username and password are incorrect, a JavaScript popup will appear.
I cannot process this ok button.
I have already tried this code. But I get an exception
org.openqa.selenium.WebDriverException: findElement execution failed; An open modal dialog blocked the operation (WARNING: The server did not provide any stacktrace information).
How to handle an open modal dialog box?
Alert alert = driver.switchTo().alert(); System.out.println(alert.getText()); alert.accept();
Here is my code
public class Read { public WebDriver driver; @BeforeMethod public void launch() throws Exception { System.setProperty("webdriver.chrome.driver", "C:\\Chrome\\chromedriver_win_26.0.1383.0\\chromedriver.exe"); driver = new ChromeDriver(); } @Test public void testImportexport1() throws BiffException, IOException, RowsExceededException, WriteException, InterruptedException { FileInputStream fis = new FileInputStream("Data//Logindev.xls"); Workbook w = Workbook.getWorkbook(fis); Sheet s = w.getSheet(0); String a[][] = new String[s.getRows()][s.getColumns()]; FileOutputStream fos = new FileOutputStream("Data//Logindev_1.xls"); WritableWorkbook wwb = Workbook.createWorkbook(fos); WritableSheet ws = wwb.createSheet("LoginResult", 0); System.out.println("s.getRows() = " + s.getRows()); for (int i = 0; i < s.getRows(); i++) { System.out.println("s.getColumns() = " + s.getColumns()); for (int j = 0; j < s.getColumns(); j++) { a[i][j] = s.getCell(j, i).getContents(); Label l = new Label(j, i, a[i][j]); Label l1 = new Label(2, 0, "Result"); ws.addCell(l); ws.addCell(l1); System.out.println("Labels Added!!!!!!!!!"); } } for (int i = 1; i < s.getRows(); i++) { driver.get("any url"); driver.findElement(By.name("txtUserName")).sendKeys( s.getCell(0, i).getContents()); driver.findElement(By.name("txtPwd")).sendKeys( s.getCell(1, i).getContents()); driver.findElement(By.name("btnSignIn")).click(); Thread.sleep(15000); if (driver.findElement(By.linkText("xyz")).isDisplayed()) { System.out.println("Element is found"); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.findElement( By.xpath("//*[@id='ctl00_headerContent_lnkLogOut']")) .click(); Thread.sleep(2000); Label l2 = new Label(2, i, "Pass"); ws.addCell(l2); } else { try { System.out.println("Element Not Found"); Label l2 = new Label(2, i, "Fail"); ws.addCell(l2); Alert alert = driver.switchTo().alert(); System.out.println(alert.getText()); alert.accept(); } catch (NoAlertPresentException e) { e.printStackTrace(); } } } Thread.sleep(2000); wwb.write(); wwb.close(); } }
source share