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("抱歉,系统繁忙,请稍后重试!");

});

 

posted @ 2025-06-19 11:02  jais  阅读(33)  评论(0)    收藏  举报