2012-02-15 11 views
5

Tengo un enlace:Selenio IDE: Cómo comprobar el color del texto usando CSS

<a class="title">My link</a>

Está decorada con este código CSS:

a.title { 
    color: #CC3333; 
} 

¿Cómo puedo verificar que el texto " Mi enlace "es rojo? Puedo localizar el elemento con css=a.title, pero ¿cómo puedo afirmar que color == "#CC3333" en Selenium IDE?

+0

O cómo puedo encontrar este localizador por color (color: # CC3333;) – user1211063

Respuesta

4

style.color devolverá el color si el elemento DOM real tiene el atributo style. En su caso, cuando el color está definido en la etiqueta <style>, no funcionará. Necesitamos que use getComputedStyle(). Aún así, color devuelve el color en formato RGB pero puede convertir su color manually y verificar el resultado RGB.

De esta manera:

assertEval(
    "window.document.defaultView.getComputedStyle(window.document.getElementsByClassName('title')[0]).getPropertyValue('color')", 
    "rgb(204, 51, 51)" 
) 

N. B. También se recomienda utilizar selenium.browserbot.getCurrentWindow() en lugar de window. Dejé la ventana para hacer un fragmento más corto.

+0

Ingresé "assertEval" al comando y "(" window.document.getElementsByClassName ('post-tag') [0] .style.color "," # CC3333 ")" al objetivo, pero no funciona. "[error] locator not found: window.document.getElementsByClassName ('post-tag') [0] .style.color", "# CC3333" – user1211063

+0

Lo siento, he olvidado cambiar la clase de ejemplo a la tuya. Ver comentario actualizado. – p0deje

+0

No funciona demasiado (Selenium no puede encontrar el localizador – user1211063

Cuestiones relacionadas