如何解决在空手道中对包含重复元素的表执行通配符操作?
我遇到了在断言用户输入后需要单击图标的情况。如果有一些唯一标识符,事情很简单,就像使用:rightOf('{}UniqueIdentifier').find('i').click()
达到了目的。
也适用于:scroll('{}UniqueIdentifier').parent.children[4].click()
但如果表格包含重复值,则无法找到唯一可搜索和单击的内容。对于哪个想法是匹配整个行文本,其中最后一个元素是需要单击的图标或任何其他适合此的方法?
需要点击三点图标 - A2、P2、2,已解决。如何使用通配符定位器实现这一点?我尝试创建一个元素列表并将其与用户输入列表匹配,但失败了。
任何帮助将不胜感激。谢谢!
解决方法
首先,您应该熟悉 locateAll()
。它将返回一个 Element
对象数组。之后有很多可能的方法来循环并找到你想要的东西。
另请注意,有一个“locateAll()
with filter”:https://github.com/intuit/karate/tree/master/karate-core#locateall-with-filter
由于您没有提供任何 HTML,我将不得不猜测。请注意,下面的 x
是一个 Element
,您甚至可以在其上调用 locate()
。
* def filter = function(x){ x.text.contains('Unique Identifier') }
* def list = locateAll('.grand-parent-class',filter)
* list[0].parent.children[4].click()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。