karate - 获取属性值并比较来自其他属性的值(值在 HTML 中具有换行符)用例:价格比较
问题描述
我是空手道的忠实粉丝,并且正在探索空手道 UI 以进行端到端测试,但我坚持一个简单的事情,即按属性查找元素,其中值在 HTML 中有换行符并且断言总是失败。
当我使用 And match attribute('#eg01SubmitId', 'type') == 'submit' And match text('.myClass') == 'Class Locator Test'
用例:比较价格(从一个应用程序中的元素获取报价并将其与其他应用程序中的报价进行比较)
在这个用例中最好的策略是什么,我如何在空手道中实现它?
解决方案
只需调用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'
推荐阅读
- xslt - Getting all unused variables in an XSL stylesheet
- oracle - 如何在oracle中使用插入触发器之前更改表的旧数据?
- shell - 如何从输入的 avro 文件创建“.avsc”文件?
- jenkins - 如何将文件作为参数从不同机器传递给詹金斯
- android - 如何以编程方式从另一个布局更改元素
- javascript - 如何在一次加载中加载多个谷歌图表,因为谷歌图表只允许加载一个包
- mysql - Teradata 到 mysql 的转换 - 资格和排名
- pyspark - 如何从 SparkSession 对象创建 DataFrame 以读取 PNG 文件格式?
- python - Python我怎样才能让所有if导致else
- java - 使用自签名证书时出现 SSLHandshakeException 和 CertPathValidatorException 错误