Table 订购黄瓜水豚

Table ordering Cucumber Capybara

我正在为 Web 应用程序编写一些测试,我对这个 Cucumber Capybara 还是很陌生。

我在屏幕上有 table 数据,可以通过单击 header 列来订购 ascending/descending。

我使用以下方法从 header 中创建了一个散列:

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

在 table 上总共有七个 header,我想通过引用索引 (0 - 6) 来点击它们中的任何一个。

我试过了

find(headers[0]).click

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

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

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

谢谢

headers 不太可能是您所期望的。除非我遗漏了什么,否则它将是空的 Hash。鉴于您只想按索引单击列 header 之一,您只需找到该元素并单击它。不需要创建 Hash.

假设列 header 的可点击部分是链接,以下 returns 所有 header 元素:

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

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

column_headers[0].click