3.7接口测试
实验任务 :
对iHRM人力资源管理系统中的登录模块和员工管理模块进行接口测试。
具体步骤见文件。完成实验报告。
一、 实验步骤及结果
首先创建一个集合用来存我们写的项目
这一步修改集合collection的名称为 iHRM人力资源管理系统
在登录模块文件夹下创建请
附上实验的url和请求体
http://ihrm-java.itheima.net/api/sys/login
{
"mobile":"13800000002",
"password":"929itheima.CN032@.20250507"
}
进行下一步
在员工管理模块创建一个员工接口测试请求
http://ihrm-java.itheima.net/api/sys/user?page=2&size=1
操作完成后点击send
这样就是成了
创建员工添加的post请求,附上url
http://ihrm-java.itheima.net/api/sys/user
附上json文本
{
"username":"牛哥",
"mobile":"15111955336",
"workNumber":"20222022"
}
创建员工查询项目
注意将target修改,下方附上url
http://ihrm-java.itheima.net/api/sys/user?page=2&size=1&?id=1066370498633486336
下面我们将开始修改环境变量
按照实验中的要求,输入断言代码,这里附上登录成功的断言代码
// 断言响应状态码为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的
附上登录失败的断言代码
// 断言响应状态码为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;
});
接下来我们进行员工接口测试的断言代码
附上断言代码
// 断言响应状态码为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("抱歉,系统繁忙,请稍后重试!");
});

浙公网安备 33010602011771号