共计 1116 个字符,预计需要花费 3 分钟才能阅读完成。
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 的一个内置方法,即:
JavaScript indexOf() 的定义和用法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
更多预(后)执行脚本常用方法请参考:https://mp.apipost.cn/a/c04c8213f3e78865
正文完