apifox脚本编写

前言

在apifox中,我们可以通过脚本实现很多方便的操作,例如可以通过前置脚本来实现自动登录(校验token过期自动在脚本中调用登录重新获取token),在后置脚本中实现对返回结果的校验和参数的提取(利用脚本提取的临时变量不拘泥于某个测试场景,可以在不同的场景间重复使用)。下面是我平时常用的一些脚本片段,作为笔记供自己查阅,若能帮到阁下,实属荣幸。

1.常规校验

校验返回的json中的数据。

var data = pm.response.json().data;
pm.test("查询校验", function () {
    // 等于
    pm.expect(data.postName).to.eql("电工"); 
    // 包含字符串
    pm.expect(data.mark).to.have.string('备注');
});

pm.variables.set("tem_id", tem.id);

校验数组。

var data = pm.response.json().data;
pm.test("参数校验", function() {
    // 检查 data 是否是数组
    pm.expect(data).to.be.an('array'); 
    var flag = false;
    for(var i = 0; i < data.length; i++) {
        if (data[i].id === 'eceb2081d87fc40ef5ff4cfdcfd3e5a3') {
            flag = true;
            break;
        }
    }
    pm.expect(flag).to.eql(true);
})

// 取出 data 数组中每个对象的 id 属性,并拼接成字符串
const ids_d = data.map(o => o.id).join(',');
// 设置临时变量
pm.variables.set("ids_d", ids_d);
posted @ 2024-05-29 17:18  大唐冠军侯  阅读(226)  评论(0编辑  收藏  举报