selenium-webdriver
Manejar una alerta
Buscar..
Selenio con Java
Aquí es cómo manejar una alerta emergente en Java con Selenium:
Hay 3 tipos de ventanas emergentes.
- Alerta simple : alerta ("Esta es una alerta simple");
- Alerta de confirmación : var popuResult = confirm ("Confirmar ventana emergente con el botón Aceptar y Cancelar");
- Alerta rápida : var person = prompt ("¿Te gusta stackoverflow?", "Sí / No");
Es hasta el usuario qué tipo de ventana emergente debe manejarse en su caso de prueba.
O puedes
aceptar () aceptar la alerta
despedir () para descartar la alerta
getText () Para obtener el texto de la alerta.
sendKeys () para escribir un texto a la alerta
Para simple alerta:
Alert simpleAlert = driver.switchTo().alert();
String alertText = simpleAlert.getText();
System.out.println("Alert text is " + alertText);
simpleAlert.accept();
Para la alerta de confirmación:
Alert confirmationAlert = driver.switchTo().alert();
String alertText = confirmationAlert.getText();
System.out.println("Alert text is " + alertText);
confirmationAlert.dismiss();
Para alerta rápida:
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();
de acuerdo a sus necesidades.
Otra forma en que puedes hacer esto es envolver tu código dentro de un try-catch:
try{
// Your logic here.
} catch(UnhandledAlertException e){
Alert alert = driver.switchTo().alert();
alert.accept();
}
// Continue.
DO#
Aquí se explica cómo cerrar una alerta emergente en C # con Selenium:
IAlert alert = driver.SwitchTo().Alert();
// Prints text and closes alert
System.out.println(alert.Text);
alert.Accept();
or
alert.Dismiss();
de acuerdo a sus necesidades.
Otra forma en que puedes hacer esto es envolver tu código dentro de un try-catch:
try{
// Your logic here.
} catch(UnhandledAlertException e){
var alert = driver.SwitchTo().Alert();
alert.Accept();
}
// Continue.
Pitón
Hay varias formas de cambiar a alerta emergente en Python
:
- En desuso
alert = driver.switch_to_alert()
- Utilizando
switch_to
:
alert = driver.switch_to.alert
- Usando
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())
- Al declarar la instancia de la clase de
Alert
:
from selenium.webdriver.common.alert import Alert
alert = Alert(driver)
Para rellenar el campo de entrada en una prompt()
emergente activada por la prompt()
JavaScript
prompt()
:
alert.send_keys('Some text to send')
Para confirmar el diálogo emergente *:
alert.accept()
Despedir:
alert.dismiss()
Para obtener texto de la ventana emergente:
alert.text
* PS alert.dismiss()
podría usarse para confirmar ventanas emergentes activadas por JavaScript
alert()
así como alert.confirm()