首页 > 解决方案 > 获取属性值并比较来自其他属性的值(值在 HTML 中具有换行符)用例:价格比较

问题描述

我是空手道的忠实粉丝,并且正在探索空手道 UI 以进行端到端测试,但我坚持一个简单的事情,即按属性查找元素,其中值在 HTML 中有换行符并且断言总是失败。

当我使用 And match attribute('#eg01SubmitId', 'type') == 'submit' And match text('.myClass') == 'Class Locator Test'

用例:比较价格(从一个应用程序中的元素获取报价并将其与其他应用程序中的报价进行比较) 在此处输入图像描述

喜欢汽车交易报价 在此处输入图像描述

在此处输入图像描述

在这个用例中最好的策略是什么,我如何在空手道中实现它?

标签: karate

解决方案


只需调用trim()任何字符串即可删除前导和尾随空格。

例如:

* def before = '  hello world\n  '
* def after = before.trim()
* match after == 'hello world'

另请注意,waitForText()默认情况下旨在执行字符串“包含”匹配。

您还可以查找和替换换行符。任何事情都是可能的,您只需要知道可以调用的 Java 方法(在 String 上)。

* def before = 'hello\nworld'
* def after = before.replace('\n', ' ')
* match after == 'hello world'

推荐阅读