测试列表按照正确的顺序排序

Ray*_*Ray 8 selenium automated-tests rspec ruby-on-rails capybara

我正在尝试在水豚中编写一些测试,测试日期列表是否正确排序.例如,我有一个日期列表,截止日期为6月27日星期三,8月13日星期一,5月31日星期四,当我点击按钮时,它将重新排列从最早开始的日期,即: 4月31日星期四,12月27日星期三, 8月13日12日.

在水豚中有没有办法可以编写这样的测试.

通常我会使用像page.find等方法,但这些方法只会找到日期,而不是告诉你它们是否按正确的顺序排序.

vla*_*iim 15

您需要使用:nth-childcss选择器.

假设您的日期列表中<ul>包含id #dates,您可以使用以下命令测试订单:

page.should have_selector("ul#dates li:nth-child(1)", content: @date1.content)
page.should have_selector("ul#dates li:nth-child(2)", content: @date2.content)
Run Code Online (Sandbox Code Playgroud)

传入的第一个值have_selector()是您的选择器,第二个值(在此示例中)是您期望的内容.例如,如果链接到Date#show您可以添加的操作的每个日期,则不仅限于传递内容url: date_path(@date).

  • 有同样的错误.上面的答案很棒,但需要使用以下其中一项:无效键:内容,应该是以下之一:text,:visible,:between,:count,:maximum,:minimum,:exact,:match,:wait (3认同)