ApiPost如何验证返回数据中是否包含某关键字/字符串?使用ApiPost的测试校验(断言)可以很方便的实现这个目标。
看本文前,建议先读以下apipost官方的文档:https://doc.apipost.cn/839e6acdc7341451 (ApiPost如何使用测试校验(断言))
假如我们的返回结果是如下结构:
{
"errcode": 0,
"errstr": "success",
"post": {
"url": "https://myywt.ar/kzzc"
},
"get": [],
"request": {
"url": "https://myywt.ar/kzzc"
},
"put": "url=https%3A%2F%2Fmyywt.ar%2Fkzzc",
"header": {
"Host": "echo.apipost.cn",
"Connection": "keep-alive",
"Content-Length": "33",
"Accept": "application/json, text/javascript, */*; q=0.01",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN",
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
"Cookie": "PHPSESSID=6bvaf84un0c7j24bksm0htsiob",
"Origin": "https://echo.apipost.cn",
"User-Agent": "ApiPOST Runtime +https://www.apipost.cn"
}
}
我想实现校验返回json的post.url
字段是否含有https://
字符串。怎么写断言呢?
其实apipost断言的语法完全100兼容js语法,js怎么写,我们就怎么写就行了:
apt.assert('response.json.post.url.indexOf("https://") > -1');
其中,response.json.post.url
指的是返回json的post.url
字段(字符串类型),indexOf("https://")
代表该字符串是否含有https://
。indexOf()
是javascript的一个内置方法,即:
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
更多预(后)执行脚本常用方法请参考:https://mp.apipost.cn/a/c04c8213f3e78865