javascript - test - selenium builtin
¿Cómo manejar el cuadro de diálogo con Robot Framework? (1)
Actualmente, Selenium2Library no tiene soporte para insertar texto en un aviso. He abierto un problema en el rastreador de problemas para esto:
https://github.com/rtomac/robotframework-selenium2library/issues/292
Hasta que se agregue, puede crear su propia biblioteca de selenio subclasificando Selenium2Library, y puede agregar la función a su versión.
Por ejemplo, cree un archivo llamado "CustomSeleniumLibrary.py" y haga que se vea así:
# CustomSeleniumLibrary.py
from Selenium2Library import Selenium2Library
class CustomSeleniumLibrary(Selenium2Library):
def insert_into_prompt(self, text):
alert = None
try:
alert = self._current_browser().switch_to_alert()
alert.send_keys(text)
except WebDriverException:
raise RuntimeError(''There were no alerts'')
A continuación, puede escribir un caso de prueba que utiliza esa biblioteca de esta manera:
*** Settings ***
| Library | CustomSeleniumLibrary.py
| Suite Teardown | Close All Browsers
*** test cases ***
| Example of typing into a prompt
| | Open Browser | http://www.w3schools.com/js/tryit.asp?filename=tryjs_prompt
| | Select Frame | iframeResult
| | Click Button | Try it
| | Insert into prompt | my name is Inigo Montoya
| | Confirm action
Estoy utilizando Robot Framework con Selenium2Library para la automatización de pruebas de sitios web. En uno de los casos hay un cuadro de aviso (ventana emergente similar a la alerta, pero con un campo de entrada, vea el ejemplo aquí ) que pide texto. El problema es que Robot Framework solo puede hacer clic en Aceptar o en Cancelar (Confirmar acción y Elegir Cancelar en las siguientes palabras clave de confirmación) en tales ventanas emergentes. Entonces la pregunta es: ¿cómo puedo ingresar algo de texto en el cuadro de diálogo? ¿Es posible?
En SeleniumLibrary había una clave de prensa Native keyword que podía presionar teclas sin especificar el elemento de destino, pero está ausente en Selenium2Library. Si conoce alguna alternativa, su respuesta será muy apreciada.
El uso de AutoIT no es una opción, ya que las pruebas se pueden ejecutar en diferentes plataformas (no solo Win).
¿Me estoy perdiendo de algo?