selenium-webdriver
Gérer une alerte
Recherche…
Sélénium avec Java
Voici comment gérer une alerte contextuelle en Java avec Selenium:
Il existe 3 types de popups.
- Alerte simple : alerte ("Ceci est une alerte simple");
- Alerte de confirmation : var popuResult = confirmer ("Confirmer avec les boutons OK et Annuler");
- Alerte d'invite : var person = prompt ("Aimez-vous stackoverflow?", "Oui / Non");
Son utilisateur doit savoir quel type de popup doit être manipulé dans son test élémentaire.
Soit vous pouvez
accepter () accepter l'alerte
rejeter () rejeter l'alerte
getText () Pour obtenir le texte de l'alerte
sendKeys () Pour écrire du texte dans l'alerte
Pour une alerte simple:
Alert simpleAlert = driver.switchTo().alert();
String alertText = simpleAlert.getText();
System.out.println("Alert text is " + alertText);
simpleAlert.accept();
Pour une alerte de confirmation:
Alert confirmationAlert = driver.switchTo().alert();
String alertText = confirmationAlert.getText();
System.out.println("Alert text is " + alertText);
confirmationAlert.dismiss();
Pour une alerte rapide:
Alert promptAlert = driver.switchTo().alert();
String alertText = promptAlert .getText();
System.out.println("Alert text is " + alertText);
//Send some text to the alert
promptAlert .sendKeys("Accepting the alert");
Thread.sleep(4000); //This sleep is not necessary, just for demonstration
promptAlert .accept();
selon vos besoins.
Une autre façon de procéder est d’emballer votre code dans un try-catch:
try{
// Your logic here.
} catch(UnhandledAlertException e){
Alert alert = driver.switchTo().alert();
alert.accept();
}
// Continue.
C #
Voici comment fermer une alerte contextuelle en C # avec Selenium:
IAlert alert = driver.SwitchTo().Alert();
// Prints text and closes alert
System.out.println(alert.Text);
alert.Accept();
or
alert.Dismiss();
selon vos besoins.
Une autre façon de procéder est d’emballer votre code dans un try-catch:
try{
// Your logic here.
} catch(UnhandledAlertException e){
var alert = driver.SwitchTo().Alert();
alert.Accept();
}
// Continue.
Python
Il existe plusieurs façons de basculer en alerte pop-up dans Python
:
- Déconseillé :
alert = driver.switch_to_alert()
- En utilisant
switch_to
:
alert = driver.switch_to.alert
- Utiliser
ExplicitWait
:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
alert = WebDriverWait(driver, TIMEOUT_IN_SECONDS).until(EC.alert_is_present())
- En déclarant l'instance de la classe
Alert
:
from selenium.webdriver.common.alert import Alert
alert = Alert(driver)
Pour remplir le champ de saisie dans la fenêtre contextuelle déclenchée par l' prompt()
JavaScript
prompt()
:
alert.send_keys('Some text to send')
Pour confirmer la boîte de dialogue contextuelle *:
alert.accept()
De rejeter:
alert.dismiss()
Pour obtenir du texte à partir de la fenêtre contextuelle:
alert.text
* PS alert.dismiss()
pourrait être utilisé pour confirmer les pop-ups déclenchés par JavaScript
alert()
JavaScript
alert()
ainsi que alert.confirm()