ApiPost如何验证返回数据中是否包含某关键字/字符串

184 阅读1分钟

ApiPost如何验证返回数据中是否包含某关键字/字符串?使用ApiPost的测试校验(断言)可以很方便的实现这个目标。

看本文前,建议先读以下apipost官方的文档:doc.apipost.cn/839e6acdc73… (ApiPost如何使用测试校验(断言))

实现

假如我们的返回结果是如下结构:

{ "errcode": 0, "errstr": "success", "post": { "url": "myywt.ar/kzzc" }, "get": [], "request": { "url": "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": "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() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

更多预(后)执行脚本常用方法请参考:mp.apipost.cn/a/c04c8213f…