使用流程
- 定义测试用例
- 验证测试用例
以示例接口 新闻列表为例,新闻列表返回响应数据如下:
{
"code": 10000,
"msg": "success",
"data": {
"cur_page": "1",
"last_page": 2,
"page_size": "20",
"total": 30,
"list": [
{
"id": 3,
"title": "前后仅用了4分钟,16枚洲际导弹应声而出,美航母也不敢轻举妄动",
"author": "烽火杂志",
"url": "https://open.apipost.cn/",
"content": "世界上哪个国家可与美军抗衡?国际社会上关于这一问题的答案千奇百怪,但有一个国家用行动让美军闭嘴,短短4分钟连续发射16枚洲际导弹,场面十分壮观,让西方国家畏惧不已,即便是美航母也不敢轻举妄动。"
}
]
}
}
定义入口在后执行脚本里;
特别注意:每个测试用例是一行,不能换行。
通用和常用的测试用例定义如下:
apt.assert('response.raw.responseText=="test"');
apt.assert('response.raw.status==200');
apt.assert('response.raw.type=="json"');
apt.assert('response.raw.responseTime>=100');
apt.assert('response.json.errcode==1');
apt.assert('response.json.errcode!=1');
apt.assert('response.json.errcode>=1');
apt.assert('response.json.errcode==null');
apt.assert('response.json.errcode!=null');
apt.assert('response.headers["server"] == "nginx"');
apt.assert('response.headers["content-encoding"] == "gzip"');
apt.globals.set("key", "value");
apt.globals.get("key");
apt.globals.delete("key");
apt.globals.clear();
apt.variables.set("key", "value");
apt.variables.get("key");
apt.variables.delete("key");
apt.variables.clear();
$.ajax({
"url":"https://echo.apipost.cn/token.php",
"method":"POST",
"async":false,
"content-type":"appicateion-json",
"data":JSON.stringify({
"email":"admin@admin.com",
"password":"密码"
}),
"success":function(response){
response = typeof response == "object" ? response : JSON.parse(response);
console.log(response);
apt.variables.set("token", response.token);
}
});
针对新闻列表这个接口测试用例定义如下:
apt.assert('response.raw.status==200');
apt.assert('response.raw.type=="json"');
apt.assert('response.raw.responseTime>=100');
apt.assert('response.json.code==10000');
apt.assert('response.json.msg=="success"');
apt.assert('response.raw.responseText.indexOf("data") > -1'); // 检查响应文本是否含有data字符串
apt.assert('response.json.hasOwnProperty("data")'); // 检测返回json对象的是否含有data字段
apt.assert('response.json.data.cur_page=="1"');
apt.assert('response.json.data.last_page==2');
apt.assert('response.json.data.page_size=="20"');
apt.assert('response.json.data.total==30');
下图为运行效果图
绿色表示测试通过,红色表示测试不通过 再加一个明显不通过的定义:apt.assert(‘response.raw.responseText==“test”’);
apt.assert('response.raw.responseText=="test"');
apt.assert('response.raw.status==200');
apt.assert('response.raw.type=="json"');
apt.assert('response.raw.responseTime>=100');
apt.assert('response.json.code==10000');
apt.assert('response.json.msg=="success"');
apt.assert('response.raw.responseText.indexOf("data") > -1'); // 检查响应文本是否含有data字符串
apt.assert('response.json.hasOwnProperty("data")'); // 检测返回json对象的是否含有data字段
apt.assert('response.json.data.cur_page=="1"');
apt.assert('response.json.data.last_page==2');
apt.assert('response.json.data.page_size=="20"');
apt.assert('response.json.data.total==30');
结果如图:
定义如下:
//验证集合list测试用例定义;
// 笔者暂时还没有找到添加断言业务描述的参数方法,一般断言有断言描述和断言表达式。但这个语法上好像不支持。
// 后期如果找到一并补充上
if(response.json.hasOwnProperty("data")){
// apt.assert('response.raw.responseText=="test"');
if(response.json.data.hasOwnProperty("list")
&& response.json.data.list.length>0){
// apt.assert('response.raw.responseText=="test"');
for(var i=0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?