表订购Cucumber Capybara

时间:2016-07-07 07:09:40

标签: cucumber capybara

我正在为一个网络应用程序编写一些测试,我对这个Cucumber Capybara来说还是一个新手。

我在屏幕上有一个数据表,可以通过点击列标题来升序/降序排序。

我使用以下方法从标题中创建了一个哈希:

 table_head = find('#clickable-rows > thead')
   headers = Hash.new(table_head)

表上总共有七个标题,我想通过引用索引(0 - 6)来点击它们。

我试过

find(headers[0]).click

以这种方式引用标题的所有其他单击命令,我不断收到错误:

Selenium::WebDriver::Error::InvalidSelectorError: invalid selector: An invalid or illegal selector was specified

我在这里显然错过了一个技巧,有没有人有解决方案或更好的方法来做到这一点?我认为哈希是最合适的。

由于

1 个答案:

答案 0 :(得分:1)

headers不太可能是你所期望的。除非我遗漏了某些东西,否则它将是空的Hash。如果您只想按索引单击其中一个列标题,则只需找到该元素并单击它即可。不需要创建Hash

假设列标题的可点击部分是链接,以下内容将返回所有标题元素:

column_headers = all('#clickable-rows > thead a')

然后,您可以根据其位置点击一个:

column_headers[0].click