我有一个按钮点击隐藏的元素,但出于美观的原因,我们通过更改不透明度来隐藏它。如何使用Capybara检查此元素的不透明度是否为0?
<div class="row lower-section" style="opacity: 0; ">
不幸的是is_visible()doesn't check CSS。
谢谢,
麦克
答案 0 :(得分:1)
我会尝试使用xpath找到按钮并检查其样式标记。 像......一样......
page.should have_xpath(:xpath, "//div[@class='row lower-section' @style='opacity: 0;')
应该有用。
查看文档以获取更多信息 https://github.com/jnicklas/capybara
答案 1 :(得分: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