如何解决空手道-条件,如果和包含,何时响应可以是json或html
我正在请求一个响应,该响应可以作为Json或HTML返回。
我正在尝试基于html情况编写条件,其中如果响应包含字符串“我的字符串”,则调用另一个功能文件。我曾尝试阅读conditional logic和contains上的文档,但是仍然遇到问题。
这是我正在采取的步骤:
Given url 'someUrl'
When method get
Then status 200
#响应可以返回类似于以下内容的json对象:
* def jsonResponse=
"""
{
"del_date_range": "new Object","twoday_date": null,"sameday": null,"calendar_end_day": 23,"zip_error_message_id": null
}
"""
#响应可以返回以下HTML:
* def htmlResponse=
"""
<span class="text">
<p>my string</p>
</span>
"""
#现在,我想创建一个if条件,该条件说明响应是否包含字符串“ my string”,然后调用另一个功能文件。
我想做这样的事情,但这不起作用:
* if (response contains 'my string') karate.call('calledFeature.feature')
我会收到这样的错误:
javax.script.ScriptException: <eval>:1:13 Expected ) but found contains
实现此目标的最佳方法是什么?如果返回了Json对象->不执行任何操作。如果返回了html,请->调用另一个功能文件。谢谢您。
解决方法
您在这里:
* string temp = response
* def isHtml = temp.startsWith('<')
现在,您可以进行任何类型的条件调用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。