我正在为一个网络应用程序编写一些测试,我对这个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
我在这里显然错过了一个技巧,有没有人有解决方案或更好的方法来做到这一点?我认为哈希是最合适的。
由于
答案 0 :(得分:1)
headers
不太可能是你所期望的。除非我遗漏了某些东西,否则它将是空的Hash
。如果您只想按索引单击其中一个列标题,则只需找到该元素并单击它即可。不需要创建Hash
。
假设列标题的可点击部分是链接,以下内容将返回所有标题元素:
column_headers = all('#clickable-rows > thead a')
然后,您可以根据其位置点击一个:
column_headers[0].click