需要存储表的属性值以在空手道中进行断言

问题描述

我有一个案例,定位器没有文本值,但它的名为 title 的属性一个我需要断言的文本值。在为它编写自定义定位器时,我只能得到文本值“”,而不是特定的属性值,比如 title =“#abcdd”。

示例:

<div class="table-cell" role="cell" table-field= "risk" title="high">high</div>

high 作为我可以获得的价值

然而,

<div class="table-cell" role="cell" table-field= "colour" title="#abcdd"></div>

没有任何文本值但在这种情况下需要获取标题属性#abcdd

需要一个通用代码获取此表中存在的所有此类标题属性值。 哪里出了问题?我有什么办法可以处理这个吗?或者该文本值需要包含在 html 中?

使用空手道作为自动化测试工具。

解决方法

获取属性:https://github.com/intuit/karate/tree/master/karate-core#attribute

* def temp = attribute('.table-cell','title')

如果你有一个 Element 引用,你可以在它上面调用 .attribute('title')https://github.com/intuit/karate/tree/master/karate-core#chaining

但请始终记住,您可以随时在任何元素上调用 DOM JS API。所以我把它留作作业,让你弄清楚如何获得 Element.attributes 的结果,如果需要,提出一个新问题,具体说明你尝试过的内容。

请务必阅读有关 locateAll() 的过滤器,例如:https://stackoverflow.com/a/63894989/143475

另见:https://stackoverflow.com/a/66900081/143475