空手道 UI:通过 CSS 定位文本

Karate UI: Locating text via CSS

我经常打空手道看不到的奇怪的可见页面文本,可能是由于一些我不完全理解的时髦 JS 魔法。

示例图片显示了点击翻译按钮后在页面上生成的文本: 我试图断言翻译后的文本在页面上存在且正确。

这是选择器: #results-panel > div > div > div.thread > div > div.activity.panel.panel-default > div.panel-content > div > div:nth-child(2) > div:nth-child(1) > div > div.analysedText-翻译 > div > span:nth-child (3)

元素的示例片段:

使用通配符 {} 或 {^} 不起作用。例如 waitFor('{^}关于猫的一些随机事情') returns a null

我尝试了 CSS 选择器,并且能够使用以下方法突出显示文本:

我在想也许可以使用 waitForText 但不确定如何应用它。有什么建议吗?

文档没有过多讨论 CSS 选择器的原因是它是一个标准。顺便说一句,这是开源的,欢迎您贡献拉取请求以改进文档。

UI 自动化很难,我不会说任何框架都能使它神奇地变得容易。

建议:

如果仍然卡住,请遵循此过程,以便我们可以在需要时修复框架中的任何内容:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue