2011-03-03 22 views
5

Espero que alguien me pueda ayudar, ya sea diciéndome que no se puede hacer o apuntando en la dirección correcta.Watir: trabajando con elementos CSS

Estoy tratando de usar las pruebas escritas de Watir Ruby para verificar que un elemento CSS se esté aplicando en mi página cuando se marca una casilla de verificación. Puedo marcar bien el atributo de la casilla de verificación y ver que esté marcado, pero una prueba diferente que debo realizar es verificar que la imagen haya sido resaltada después de marcar la casilla de verificación.

Actualmente no he podido encontrar nada útil después de un par de horas de búsqueda. ¿Alguien ha tenido un problema con esto que tuviste que superar, y si es así cómo lo hiciste?

Gracias de antemano

Respuesta

1

¿Cómo se aplica el elemento de CSS para la imagen después de revisar la casilla de verificación? Si agrega el atributo de clase para resaltar, supongo que comprobar el atributo de clase es la forma más sencilla.

por ejemplo

 
browser.image.class_name =~ /foobar/ 

Si se utiliza atributo de estilo, creo que puede que tenga que comprobar HTML en sí, como

 
browser.image.html =~ /style=\"?foobar\"?/ 
2

Si está utilizando la vainilla Watir (es decir, el navegador Internet Explorer en Windows) entonces también es posible obtener el estilo del elemento del objeto win32ole:

irb(main):001:0> require "watir" 
=> true 
irb(main):002:0> b = Watir::Browser.new 
=> #<Watir::IE:0x4bce118 url="about:blank" title=""> 
irb(main):003:0> b.goto "google.com" 
=> 2.298132 
irb(main):004:0> i = b.image(:alt => "Google") 
=> #<Watir::Image:0x433fa28 located=false how={:alt=>"Google"} what=nil> 
irb(main):005:0> i.style 
=> #<WIN32OLE:0x431ca90> 
irb(main):008:0> i.style.paddingTop 
=> "26px" 

This #style meth od también devuelve estilo calculado, p. estilos de CSS y no solo de la etiqueta de estilo.

Puede ver todos los métodos de ole de estilo posibles de msdn en http://msdn.microsoft.com/en-us/library/ms535870(v=vs.85).aspx bajo propiedades de estilos.