012b、数据驱动(2)用数据驱动测试前程贷登录接口

 

数据驱动案例 2 :

1、环境变量 dev 如下:

 

2、请求头

 

3、请求体为

{"mobile_phone": "{{req_mobile_phone}}", "pwd": "{{req_pwd}}"}

 

4、后置脚本test为

// csv文件中,code列
var code = pm.variables.get("res_code");
console.log(code)

// csv文件中,res_mobile_phonee列,转化为字符串,否则比对时会报错。
var res_mobile_phone = pm.variables.get("res_mobile_phone");
var mobile_phone = res_mobile_phone.toString()
console.log(mobile_phone)

// csv文件中,res_msg列
var msg = pm.variables.get("res_msg");
console.log(msg)

// 获取响应结果
var jsonData = pm.response.json();
// console.log(jsonData)
// console.log(jsonData['code'])
// console.log(jsonData['data']['mobile_phone'])
// console.log(jsonData['msg'])



// 引用code列进行断言
if (!code){
    if (jsonData['code'] != null){
        pm.test("断言code", function () {
            pm.expect(jsonData['code']).to.eql(code);
        });
    }
    else
    {
        console.log("响应结果数据中没有code")
    }
}
else{
    console.log("csv文件中code列为空")
}


// 引用msg列进行断言
if (msg.length != 0){
    if (jsonData['msg'] !=null){
        pm.test("断言msg", function () {
            pm.expect(jsonData['msg']).to.eql(msg);
        });
    }
    else
    {
        console.log("响应结果数据中没有msg")
    }
}
else{
    console.log("csv文件中msg列为空")
}



// 引用mobile_phone列进行断言
if (mobile_phone.length != 0){
    if (jsonData['data']['mobile_phone'] != null){
        pm.test("断言mobile_phone", function () {
            pm.expect(jsonData['data']['mobile_phone']).to.eql(mobile_phone);
        });
    }
    else
    {
        console.log("响应结果数据中没有mobile_phone")
    }
}
else{
    console.log("csv文件中mobile_phone列为空")
}

 

5、请求数据 test_login.txt 为:

id,case_name,req_mobile_phone,req_pwd,res_code,res_msg,res_mobile_phone,method,url
login_01,测试账号登陆成功,普通用户账号、密码,15121886677,12345678,0,OK,15121886677,post,/member/login
login_02,测试账号登陆成功,管理员账号、密码,18820992515,Aa123456,0,OK,18820992515,post,/member/login
login_03,测试账号登陆失败,普通用户,密码错误,15121886677,45678321,1001,账号信息错误,,post,/member/login
login_04,测试账号登陆失败,管理员账号,密码错误,18820992515,34567890,1001,账号信息错误,,post,/member/login
login_05,登陆失败,未注册过的手机号(非管理员账号、非普通账号),15362990000,1234567890,1001,账号信息错误,,post,/member/login

 

如果把含有中文字符的用例放在csv文件中,在运行时会有字符乱码显示。目前尚未解决,但是放在txt文件改成utf-8编码,中文显示正常。所以上面用了txt文件。

 

 6、选择用例数据,执行

 运行结果如下:

 

 

posted @ 2021-10-08 18:52  空-山-新-雨  阅读(448)  评论(0编辑  收藏  举报