Estoy utilizando Selenium Webdriver para la automatización de pruebas funcionales en un basado en javascript de la aplicación web.
El código javascript (knockout.js) establece uno de los elementos de OPCIÓN para SELECCIONAR listas desplegables de otro color #FFFFCC, que es rgba(255, 255, 204, 1) (luz amarilla) (según lo verificado por firebug).

Mi código para el uso de selenio es como sigue:

    Select select = new Select(driver.findElement(By.id("views"))); //get the select
    List<WebElement> allOptions = select.getOptions(); //get all the options

    for (WebElement option : allOptions) { //iterate over the options
      if (option.getCssValue("background-color").compareToIgnoreCase("rgba(255, 255, 204, 1)") == 0) {
         //do something 
      }
    }

Pero que si la declaración de siempre falla. Cuando tengo que hacer un sistema.a cabo.println() para el valor de option.getCssValue("background-color") devuelve ‘transparente’ para todos mis elementos de opción y ‘rgba(51, 153, 255, 1)’ para mi modificado opción de elemento, que cuando se convierte a hexadecimal es #3399FF (el color azul).

¿Por qué es el selenio presentación de informes de manera incorrecta el valor hexadecimal de este elemento?

  • Así que usted está comprobando background-color o simplemente la color del elemento
  • El color de fondo
InformationsquelleAutor Husman | 2013-07-18

1 Comentario

  1. 2

    Tengo una buena teoría acerca de por qué sucede este problema, y es que parece ser reproducible.

    El color azul es el color de los elementos de fondo cuando resaltado por un ratón. El selenio parece recoger el color en lugar del verdadero color de fondo de la opción desplegable.

    Quizás debería informe que como un error o no de la característica de los devs.

Dejar respuesta

Please enter your comment!
Please enter your name here