Estoy tratando de inyectar mi navegador con la función JavaScript Executor para volver a ejecutar la instancia de un navegador. Para ello, estoy usando la palabra clave "Ejecutar JavaScript". Mi código se ve así:
SeleniumLibrary.Execute Javascript JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("alert('OK')")El error se ve así:
JavascriptException: Message: javascript error: Unexpected identifier(Información de la sesión: chrome=92.0.4515.107)
¿Parece importar para JavaScriptExecutor? ¿Cómo se puede hacer esto?
¿Puedes probar el siguiente código?
SeleniumLibrary.Execute Javascript alert('OK')La alerta debe manejarse con la palabra clave Handle Alert como parece que ya lo ha hecho. Para volver a una instancia de navegador anterior, Selenium proporciona dos entidades que se pueden usar. Es posible que desee ver la sección Navegadores y Windows de la documentación de SeleniumLibrary.
El caso de uso básico es que al abrir el navegador, le dará un alias y luego usará Switch Browser para volver a esa instancia del navegador. Dentro de ese navegador, puede tener varias páginas abiertas, se puede acceder a ellas con localizadores normales usando la palabra clave Switch Window . Por ejemplo, normalmente usaría la URL de la ventana, ya que tiende a tener al menos una parte única. Si ninguno de los URL, el título o el nombre son únicos, al usar la palabra clave Get Window Handles , se devuelve una lista de ventanas dentro de ese navegador. En su caso, esperando que no se abran otras ventanas durante la prueba, la ventana principal del navegador se puede encontrar con el argumento MAIN .
Puede considerar este ejemplo incompleto y completar los detalles que no proporcionó en la pregunta.
Test 1 Open Browser ${your URL} alias=browser1 # Do whatever triggers the alert Handle Alert Switch Window MAIN