2011-03-03 16 views
5

Speriamo che qualcuno possa aiutarmi, sia dicendomi che non può essere fatto o indicandomi nella giusta direzione.Watir - lavorare con elementi CSS

Sto tentando di utilizzare i test scritti di Watir Ruby per verificare che un elemento CSS venga applicato alla mia pagina quando una casella di controllo è selezionata. Posso controllare bene l'attributo checkbox e vedere che è spuntato, ma un test diverso che devo eseguire è controllare che l'immagine sia stata evidenziata dopo aver spuntato la casella.

Attualmente non sono stato in grado di trovare nulla di utile in giro dopo un paio d'ore di ricerca. Qualcuno si è imbattuto in un problema che hai dovuto superare, e se sì, come hai fatto.

Grazie in anticipo

risposta

1

Come si applica l'elemento CSS per l'immagine dopo aver controllato la casella di controllo? Se si aggiunge l'attributo di classe per l'evidenziazione, suppongo che il controllo dell'attributo di classe sia il modo più semplice.

ad esempio

 
browser.image.class_name =~ /foobar/ 

Se si utilizza attributo di stile, penso che potrebbe essere necessario controllare HTML stessa, come

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

Se stai usando vaniglia Watir (che significa browser Internet Explorer su Windows) quindi è anche possibile ottenere lo stile dell'elemento dell'oggetto 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" 

Questo metodo di stile od restituisce anche lo stile calcolato, ad es. stili da CSS e non solo da tag di stile.

È possibile verificare tutti i possibili metodi di ole di stile da msdn a http://msdn.microsoft.com/en-us/library/ms535870(v=vs.85).aspx in Proprietà dello stile.