2011-03-03 143 views
5

希望有人能幫助我,要麼告訴我它不能完成,要麼指向正確的方向。Watir - 使用CSS元素

我想使用Watir Ruby編寫的測試來檢查一個CSS元素是否正在應用到我的頁面時,複選框被選中。 我可以檢查複選框的屬性,看看它是否被選中,但我必須執行的一個不同的測試是檢查複選框後圖像是否已被突出顯示。

目前我還沒有能夠找到任何有用的東西后,幾個小時的搜索。有沒有人遇到過這個問題,你必須克服,如果是的話,你是怎麼做到的。

在此先感謝

回答

1

如何在檢查複選框後將CSS元素應用於圖像?如果添加用於突出顯示的類屬性,我想檢查類屬性是最簡單的方法。

例如

 
browser.image.class_name =~ /foobar/ 

如果使用樣式屬性,我想你可能需要檢查HTML本身,像

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

如果你使用香草的Watir(意思是在Windows上的IE瀏覽器)那麼它也有可能從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" 

此#style風格od還返回計算的樣式,例如CSS的樣式,而不僅僅是樣式標籤。

您可以從樣式屬性下的msdn http://msdn.microsoft.com/en-us/library/ms535870(v=vs.85).aspx中查看所有可能的樣式ole方法。