Comment gérer java script de fenêtre, au sélénium

J'ai créé un script d'automatisation pour la connexion qui contient le nom d'utilisateur et mot de passe.

J'ai une feuille excel dans laquelle le résultat est mis à jour que de passer si le nom d'utilisateur et le mot de passe est correct.

Mais si le nom d'utilisateur et le mot de passe est incorrect JavaScript pop up box est à venir.

Je suis incapable de gérer ce bouton ok.

J'ai déjà essayé ce code. Mais je suis d'Exception

org.openqa.selenium.WebDriverException: findElement execution failed;
 An open modal dialog blocked the operation 
(WARNING: The server did not provide any stacktrace information).

Comment gérer ouvrir la boîte de dialogue modale?

Alert alert = driver.switchTo().alert();
System.out.println(alert.getText());
alert.accept();

Voici mon 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();
}
}
Comme c'est une boîte de dialogue modale, il est possible que la zone d'alerte est résidant dans un cadre. essayez de passer à l'image, puis cliquez sur OK.
comment vais-je trouver le nom du cadre ou un cadre id??Parce que je suis incapable de faire un clic droit sur cette image que aussi sur ce bouton Ok.Et le firebug est aussi de ne pas identifier.
si vous ne parvenez pas à droite, cliquez sur le bouton ok, vous pouvez ouvrir firebug et de recherche avec le texte présent sur la modal box à l'aide de l'option rechercher dans firebug. Qui va vous montrer le code html de votre boîte d'alerte et le cadre. Si vous ne parvenez toujours pas à trouver l'id, laissez-moi savoir le site web si elle n'est pas confidentielle. Je vais essayer de trouver la solution.
salut HemChe,je suis incapable de trouver l'id à l'aide de firebug.Mais mon site est confidentiel.S'il vous plaît dites-moi comment vais-je le résoudre?
Est-ce la même boîte de dialogue u obtenez lorsque vous cliquez sur le bouton connexion dans www.flipkart.com page d'accueil ?

OriginalL'auteur sarmila | 2013-03-25