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

ApiPost团队 工具 2020-06-02

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

中文版Postman,rap文档管理

评论