是否可以按照其名称而不是ID,文字或标题来关注链接?鉴于我有(哈哈,黄瓜内幕他?)以下的HTML代码:
<div id="some_information_container">
<a href="edit" class="edit_button">Translation here</a>
</div>
在Cucumber / Webrat中有什么我错过的吗?或者你有什么建议可以更好地解决这个问题吗?
感谢您的帮助和最诚挚的问候,
乔
编辑:我发现有关此主题的有趣讨论here - 现在似乎仍然是一个悬而未决的问题。你还有其他解决方案吗?
答案 0 :(得分:4)
这是我用黄瓜做的方式,希望它有所帮助。步骤定义中的#有助于CSS了解最新情况。
这仅适用于ID而非类名
步骤定义
Then /^(?:|I )should see ([^\"]*) within a div with id "([^\"]*)"$/ do |text, selector|
# checks for text within a specified div id
within "##{selector}" do |content|
if defined?(Spec::Rails::Matchers)
content.should contain(text)
else
hc = Webrat::Matchers::HasContent.new(text)
assert hc.matches?(content), hc.failure_message
end
end
end
功能
Scenario Outline: Create Project
When I fill in name with <title>
And I select <data_type> from data_type
And I press "Create"
Then I should see <title> within a div with id "specifications"
Scenarios: Search Terms and Results
| data_type | title |
| Books | A Book Title |
答案 1 :(得分:3)
以下是如何在类名为“edit_botton”的元素中声明文本
Then I should see "Translation here" within "[@class='edit_button']"
答案 2 :(得分:1)
find('a.some-class').click
怎么样?
答案 3 :(得分:0)
我对WebRat API不太熟悉,但是如何使用DOM查找来获取您要查找的类的引用ID,然后将其传递给click_link函数?
这是一个链接到一些javascript来按类检索项目。 http://mykenta.blogspot.com/2007/10/getelementbyclass-revisited.html
现在我考虑一下,使用Javascript只需将其更改为某个随机ID,然后点击它即可?
无论哪种方式,这应该有效,直到名称的节俭辩论包括getbyclass函数为止。
答案 4 :(得分:0)
have_tag对您有用吗?
have_tag( 'a.edit_button')