软件测试实验五接口测试一命速通教程

 首先创建一个集合用来存我们写的项目

 

 这一步修改集合collection的名称为   iHRM人力资源管理系统

 创建图示的两个文件夹

 在登录模块文件夹下创建请求(怎么创建前面说了)

 

附上实验的url和请求体
http://ihrm-java.itheima.net/api/sys/login

 

{
"mobile":"13800000002",
"password":"929itheima.CN032@.20250425"
}

此处密码若错误请尝试将密码的日期修改为你当前的时间,比如今天是2025年4月26日就改成929itheima.CN032@.20250426

 

 

 

完成前四步后点击send按钮发送请求即可看到第五步的内容

记得保留data的值,这将作为后续登录状态的参数

 

 

进行下一步
在员工管理模块创建一个员工接口测试请求

http://ihrm-java.itheima.net/api/sys/user?page=2&size=1

 

 操作完成后点击send

 这样就是成了

 




创建员工添加的post请求,附上url
http://ihrm-java.itheima.net/api/sys/user

 按照他需要的添加的数据来写json文本

这里偷懒写前三个必须的就可以拉

 

 

 附上json文本

{
    "username":"牛哥",
    "mobile":"15111955336",
    "workNumber":"20222022"
}
 

 创建员工查询项目

注意将target修改,下方附上url

http://ihrm-java.itheima.net/api/sys/user?page=2&size=1&?id=1066370498633486336

下面我们将开始修改环境变量

 

 

按照上图的环境变量写就行,我的可能和老师的不太一样,你们也可改成其他名字,方便使用就行
 

 

 在登录请求中替换url点击send看看行不行,不行可能是环境变量没有应用或者环境变量名字输错了

 按照实验中的要求,输入断言代码,这里附上登录成功的断言代码

// 断言响应状态码为200
pm.test("状态码应为200", function () {
    pm.response.to.have.status(200);
});

// 断言 success 为 true
pm.test("success 应为 true", function () {
    pm.expect(pm.response.json().success).to.be.true;
});

// 断言 code 为 10000
pm.test("code 应为 10000", function () {
    pm.expect(pm.response.json().code).to.eql(10000);
});

// 断言 message 为 "操作成功!"
pm.test("message 应为 操作成功!", function () {
    pm.expect(pm.response.json().message).to.eql("操作成功!");
});

// 可选:断言 data 存在且非空(根据需求)
pm.test("data 应存在且非空", function () {
    const data = pm.response.json().data;
    pm.expect(data).to.not.be.null;
    pm.expect(data).to.not.be.undefined;
});
 

 这样就是ok的,有人会问:“主播主播,找不到哪里有script选项怎么办啊”,没事,你的可能是tests,如下

 

 附上登录失败的断言代码

// 断言响应状态码为200(假设接口返回状态码为200,但业务逻辑失败)
pm.test("状态码应为200", function () {
    pm.response.to.have.status(200);
});

// 断言 success 为 false
pm.test("success 应为 false", function () {
    pm.expect(pm.response.json().success).to.be.false;
});

// 断言 code 为 20001
pm.test("code 应为 20001", function () {
    pm.expect(pm.response.json().code).to.eql(20001);
});

// 断言 message 为 "用户名或密码错误"
pm.test("message 应为 用户名或密码错误", function () {
    pm.expect(pm.response.json().message).to.eql("用户名或密码错误");
});

// 可选:断言 data 为 null(根据需求)
pm.test("data 应为 null", function () {
    pm.expect(pm.response.json().data).to.be.null;
});
 

 

看看结果是不是这样,如果不是检查一下登录是否失败,url对了吗,body里请求体,断言代码是不是写错了

接下来我们进行员工接口测试的断言代码

 

 

 

 附上断言代码

// 断言响应状态码为200
pm.test("断言响应状态码为200", function () {
    pm.response.to.have.status(200);
});

// 断言响应消息success=true
pm.test("断言响应消息success=true", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.success).to.eql(true);
});

// 断言响应消息code=10000
pm.test("断言响应消息code=10000", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.code).to.eql(10000);
});

// 断言响应消息message="操作成功!"
pm.test("断言响应消息message='操作成功!'", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("操作成功!");
});
 

 

 

 

附上url和断言代码

{{base_url}}/api/sys/user

 

// 断言响应状态码为200
pm.test("断言响应状态码为200", function () {
    pm.response.to.have.status(200);
});

// 断言响应消息success=false
pm.test("断言响应消息success=false", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.success).to.eql(false);
});

// 断言响应消息code=99999
pm.test("断言响应消息code=99999", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.code).to.eql(99999);
});

// 断言响应消息message="抱歉,系统繁忙,请稍后重试!"
pm.test("断言响应消息message='抱歉,系统繁忙,请稍后重试!'", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("抱歉,系统繁忙,请稍后重试!");
});

 

接下来是员工添加的修改,操作和之前的实验是类似的

 

 

 

 

url:

{{base_url}}/api/sys/user

Authorization:

{{data}}

员工添加成功的断言代码:

// 断言响应状态码为200
pm.test("断言响应状态码为200", function () {
    pm.response.to.have.status(200);
});

// 断言响应消息success=true
pm.test("断言响应消息success=true", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.success).to.eql(true);
});

// 断言响应消息code=10000
pm.test("断言响应消息code=10000", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.code).to.eql(10000);
});

// 断言响应消息message="操作成功!"
pm.test("断言响应消息message='操作成功!'", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("操作成功!");
});

 

 

新建一个员工添加失败的请求

 

 

 

注意body请求体内东西要删掉保证添加失败

断言代码如下:

// 优化后的断言代码(减少重复并增强可维护性)
try {
    var jsonData = pm.response.json();

    pm.test("断言响应状态码为200", function () {
        pm.response.to.have.status(200);
    });

    pm.test("断言响应消息success=false", function () {
        pm.expect(jsonData.success).to.eql(false);
    });

    pm.test("断言响应消息code=99999", function () {
        pm.expect(jsonData.code).to.eql(99999);
    });

    pm.test("断言响应消息message='抱歉,系统繁忙,请稍后重试!'", function () {
        pm.expect(jsonData.message).to.eql("抱歉,系统繁忙,请稍后重试!");
    });
} catch (error) {
    console.error("Error parsing JSON response:", error);
}

 

 

下面写员工查询代码

 

附上url和断言代码

{{base_url}}/api/sys/user?page=2&size=1&?id={{end_id}}

 

// 断言响应状态码为200
pm.test("断言响应状态码为200", function () {
    pm.response.to.have.status(200);
});

// 断言响应消息success=true
pm.test("断言响应消息success=true", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.success).to.eql(true);
});

// 断言响应消息code=10000
pm.test("断言响应消息code=10000", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.code).to.eql(10000);
});

// 断言响应消息message="操作成功!"
pm.test("断言响应消息message='操作成功!'", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("操作成功!");
});

 

接下来是员工查询失败

 

附上url和断言代码

{{base_url}}/api/sys/user?id=1066370498633486336

 

// 断言响应状态码为200
pm.test("断言响应状态码为200", function () {
    pm.response.to.have.status(200);
});

// 断言响应消息success=false
pm.test("断言响应消息success=false", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.success).to.eql(false);
});

// 断言响应消息code=99999
pm.test("断言响应消息code=99999", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.code).to.eql(99999);
});

// 断言响应消息message="抱歉,系统繁忙,请稍后重试!"
pm.test("断言响应消息message='抱歉,系统繁忙,请稍后重试!'", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("抱歉,系统繁忙,请稍后重试!");
});
 
 
下面是生成实验报告的内容,
先教你们导出两个文件

 每一个文件都要保存一下,不然可能会导出错误

 

 

 

 两个文件导出到一个文件里

打开你的命令窗口win+r

输入cmd

请确保你安装有node.js

输入命令

npm install -g newman@5.3.2

newman -v

# 应显示 5.3.2

npm install -g newman-reporter-html --no-fund

执行生成报告的命令

如果出错试试这个

npm install -g newman-reporter-htmlextra

 

newman run iHRM人力资源管理系统.postman_collection.json -e iHRM_Environment.postman_environment.json -r html

 打开新文件夹里的html文件,那个就是报告了

 

希望这个博客能帮到你

posted on 2025-04-25 18:10  HA_wind  阅读(357)  评论(1)    收藏  举报

导航