我有以下带有多个输入的html:
<input type="submit" value="Save and close" name="commit"/>
<input type="submit" value="Save" name="commit"/>
并想用黄瓜来测试点击“保存”按钮。但是,当我在黄瓜测试中这样做时:
When I press "Save"
它点击“保存并关闭”按钮,因为它出现在“保存”按钮之前。
查看 webrat 源代码以找到按钮:
def button_element
button_elements.detect do |element|
@value.nil? ||
matches_id?(element) ||
matches_value?(element) ||
matches_html?(element) ||
matches_alt?(element)
end
end
...
def matches_value?(element)
element["value"] =~ /^\W*#{Regexp.escape(@value.to_s)}/i
end
...
似乎 webrat 需要第一个匹配项,并且只从内容的开头匹配。
有没有办法进行精确匹配,所以黄瓜会找到“保存”而忽略“保存并关闭”?