Pregunta

Estoy usando Selenium 2B1 y obteniendo buenos resultados conduciendo Firefox (tanto MacOS como Windows).Nos gustaría correr las mismas pruebas contra IE y Chrome.Después de agregar un par de soluciones para Chromedriver, encuentro que tanto el cromédriver como el InternatexPlorerRorerriver fallan en EXECUTESCT (), incluso si el script está 'Volver "¡Hola!"', Después del controlador.switchtoto (). Frame (CanvasName).Los informes de Chromedriver "no estaban en una página, por lo que no pudo ejecutar JavaScript" mientras informa IntertexPlorerRiver "Error de JavaScript".

Aquí está el código maravilloso:

selenium.switchTo().frame(canvasName)

log.info("Canvas open.  Waiting for Game to load.");
waitFor(selenium, 30) {
    selenium.findElement(By.id("Game")).click()
}

waitFor(selenium, 30) {
    def eval = null
    try {
        eval = selenium.executeScript("return document.URL")
        log.fine("executeScript returns [$eval]")
    } catch(Exception e) {
        log.fine("Exception from executeScript: $e.message")
    }
    return eval
}

La variable, Selenium, en caso de que Remotewebdriver.El método de espera crea una instancia de WEBDRIVERWAIT y pasa una instancia de WRAPPER que hace referencia al parámetro de cierre como el parámetro hasta el parámetro.Tenga en cuenta que el elemento con el 'juego' de ID solo existe en el iframe que ha sido seleccionado por la primera declaración en el código anterior.

Espero que alguien tenga experiencia con esto!

¿Fue útil?

Solución

El problema son las limitaciones en las versiones de IntertexPlorerDriver y Chromedriver en Selenium 2.0B1.El lanzamiento de Selenium 2.0B2 incluye un internetexplorerRiner mejor mejorado que admite el cambio al iframe y ejecutando JavaScript contra su DOM.Un cromédriver más robusto todavía está por venir.Desafortunadamente, la Beta 2 Anuncio no se mencionaPlanes para el cromédriver (o la posibilidad de apoyo para Safari).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top