我遇到了这样一种情况,需要在断言用户输入后单击图标。如果有一些唯一标识符,事情就非常简单,例如使用:rightOf('{}UniqueIdentifier').find('i').click()
达到了目的。
也可以很好地工作:scroll('{}UniqueIdentifier').parent.children[4].click()
但是,如果表包含重复值,则无法找到唯一可搜索和单击的值。其想法是匹配整个行文本,其中最后一个元素是需要单击的图标或任何其他适合此的方法?
Table looks like this:-
需要单击三点图标 - A2、P2、2,已解决。如何使用通配符定位器来实现这一点?我尝试创建一个元素列表并将其与用户输入列表进行匹配,但失败了。
任何帮助,将不胜感激。谢谢!
首先你应该适应locateAll()
。它将返回一个数组Element
对象。之后有很多可能的方法可以循环并找到你想要的东西。
另请注意,有一个“locateAll()
带过滤器”:https://github.com/intuit/karate/tree/master/karate-core#locateall-with-filter https://github.com/intuit/karate/tree/master/karate-core#locateall-with-filter
由于您没有提供任何 HTML,我将不得不猜测。并注意x
下面是一个Element
你甚至可以打电话locate()
on it.
* def filter = function(x){ x.text.contains('Unique Identifier') }
* def list = locateAll('.grand-parent-class', filter)
* list[0].parent.children[4].click()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)