2012-03-12 58 views
2

我有一個隱藏着點擊按鈕的元素,但出於美觀的原因,我們通過更改不透明度來隱藏它。如何使用Capybara檢查此元素的不透明度爲0?根據不透明度檢查元素的可見性

<div class="row lower-section" style="opacity: 0; "> 

不幸的是is_visible()doesn't check CSS。

感謝,

邁克

回答

0

我會嘗試使用XPath定位按鈕,並檢查它的風格標籤。 類似...

page.should have_xpath(:xpath, "//div[@class='row lower-section' @style='opacity: 0;') 

應該工作。

檢查的詳細信息的文檔

1

我發現jQuery的工作最適合這類事情。我發現使用xpaths太變幻莫測了 - 特別是如果你是網絡測試而不是機架測試。我會這樣做:

Given I do something 
Then I should see that "element" has "opacity" value "0" 

Then /^I should see that "([^\"]*)" has "([^\"]*)" value "([^\"]*)"$/ do |element, 
    property,value| 
@result = page.evaluate_script("$('#{element}').css('#{property}');") 
@result.should eql(value), "expected #{property} on #{element} to be #{value}" 
end