在多个元素具有相同标签的网页上进行文本验证

时间:2016-04-01 15:45:45

标签: ruby cucumber capybara

我将以下代码作为测试的一部分:

<div>
    <input id="submitButton" type="submit" name="btn" value="Register" />
</div>

<div>
    <input id="cancelButton" type="submit" name="btn" value="Cancel" />
</div>

网页上有多个标有if page.text.include? "Provide your details" go_and_enter_details end 的元素,包括正在检查内容的元素。

返回此错误:

h2

如何让Ruby / Cucumber / Capybara识别该页面是否包含我需要检查的文本?

1 个答案:

答案 0 :(得分:0)

您有多种选择:

  • 如果您要填充的元素是页面中的第一个元素,则可以使用first element

    first('YOUR ELEMENT').click
    
  • 您可以使用within,这样您就可以告诉capybara在哪里找到您的元素(例如,在div中)

    within('body > div > div') do
     #find your element and do your work
    end
    
  • 您可以使用元素的CSS selectorXPath