告诉我要怎么做,要求讲解内容详细
时间: 2024-11-27 14:17:02 浏览: 9
### 实验指导:使用Postman进行iHRM人力资源管理系统接口测试
#### 实验目的
- 使用Postman进行接口测试。
- 生成测试报告。
#### 实验步骤
##### 1. 准备工作
1. **安装Postman**:确保已安装Postman工具。
2. **准备环境**:确保有网络连接,能够访问 `http://ihrm-java.itheima.net`。
##### 2. 创建集合
1. **打开Postman**:启动Postman应用。
2. **创建集合**:
- 在Postman主窗口的左侧单击“Collections”。
- 单击左上方的加号(+),创建一个新的集合。
- 将集合命名为“iHRM人力资源管理系统”。
- 右击集合,选择“Add folder”,创建两个文件夹,分别命名为“登录模块”和“员工管理模块”。
##### 3. 设置环境变量
1. **创建环境变量**:
- 在Postman主窗口的左侧单击“Environments”。
- 单击左上方的加号(+),创建一个新的环境变量。
- 将环境变量命名为“iHRM_Environment”。
- 在VARIABLE下方输入变量名`base_url`,在INITIAL VALUE下方输入变量值`http://ihrm-java.itheima.net`。
- 单击“Save”按钮保存环境变量。
2. **选择环境变量**:
- 单击Postman主窗口右上角的环境变量选择器,选择“iHRM_Environment”。
##### 4. 设计并执行登录模块的接口测试用例
1. **登录成功的测试用例**:
- 在“登录模块”文件夹右击,选择“Add request”。
- 将请求命名为“login_01_登录成功”。
- 设置请求方法为`POST`,请求地址为`{{base_url}}/api/sys/login`。
- 设置请求头为`Content-Type: application/json`。
- 在Body中选择“raw”选项,输入请求体参数:
```json
{
"mobile": "13800000002",
"password": "888itcast.CN764%"
}
```
- 在Tests中编写断言代码:
```javascript
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Success is true", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.be.true;
});
pm.test("Code is 10000", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.equal(10000);
});
pm.test("Message is '操作成功!'", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.equal("操作成功!");
});
pm.environment.set("token", "Bearer " + jsonData.data);
```
- 单击“Send”按钮发送请求,检查响应结果和断言结果。
2. **登录失败的测试用例**:
- 按照类似的方法,创建多个登录失败的测试用例,如用户名包含特殊字符、用户名为空、密码为空等。
- 调整请求体参数,确保符合不同的测试场景。
- 编写相应的断言代码,验证响应状态码和返回消息。
##### 5. 设计并执行员工管理模块的接口测试用例
1. **查询员工管理列表**:
- 在“员工管理模块”文件夹右击,选择“Add request”。
- 将请求命名为“manage_emp_01_查询员工管理列表成功”。
- 设置请求方法为`GET`,请求地址为`{{base_url}}/api/sys/user?page=2&size=1`。
- 设置请求头为`Authorization: {{token}}`。
- 在Tests中编写断言代码:
```javascript
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Success is true", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.be.true;
});
pm.test("Code is 10000", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.equal(10000);
});
pm.test("Message is '操作成功!'", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.equal("操作成功!");
});
pm.environment.set("employee_id", jsonData.data.rows[0].id);
```
- 单击“Send”按钮发送请求,检查响应结果和断言结果。
2. **添加员工**:
- 在“员工管理模块”文件夹右击,选择“Add request”。
- 将请求命名为“add_emp_01_添加员工成功”。
- 设置请求方法为`POST`,请求地址为`{{base_url}}/api/sys/user`。
- 设置请求头为`Content-Type: application/json`和`Authorization: {{token}}`。
- 在Body中选择“raw”选项,输入请求体参数:
```json
{
"username": "小明",
"mobile": "17212348888",
"workNumber": "220419",
"timeOfEntry": "2022-07-12",
"formOfEmployment": 1,
"departmentName": "研发部",
"departmentId": "1412421425733664777",
"correctionTime": "2022-12-12T16:00:00.000Z"
}
```
- 在Tests中编写断言代码:
```javascript
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Success is true", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.be.true;
});
pm.test("Code is 10000", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.equal(10000);
});
pm.test("Message is '操作成功!'", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.equal("操作成功!");
});
pm.environment.set("added_employee_id", jsonData.data.id);
```
- 单击“Send”按钮发送请求,检查响应结果和断言结果。
3. **查询员工**:
- 在“员工管理模块”文件夹右击,选择“Add request”。
- 将请求命名为“select_emp_01_查询员工成功”。
- 设置请求方法为`GET`,请求地址为`{{base_url}}/api/sys/user/{{added_employee_id}}`。
- 设置请求头为`Authorization: {{token}}`。
- 在Tests中编写断言代码:
```javascript
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Success is true", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.be.true;
});
pm.test("Code is 10000", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.equal(10000);
});
pm.test("Message is '操作成功!'", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.equal("操作成功!");
});
```
- 单击“Send”按钮发送请求,检查响应结果和断言结果。
##### 6. 生成测试报告
1. **导出环境变量和集合**:
- 导出环境变量:在Postman主窗口左侧单击“Environments”,单击右侧的“”图标,选择“Export”,保存到指定文件夹。
- 导出集合:在Postman主窗口左侧单击“Collections”,单击集合右侧的“”图标,选择“Export”,保存到指定文件夹。
2. **生成测试报告**:
- 打开命令行终端,导航到保存环境变量和集合的文件夹。
- 输入以下命令并按回车键执行:
```sh
newman run iHRM人力资源管理系统.postman_collection.json -e iHRM_Environment.postman_environment.json -r html
```
- 查看生成的测试报告:在文件夹中找到生成的`newman`文件夹,双击其中的`.html`文件查看测试报告。
#### 总结
通过以上步骤,您可以使用Postman对iHRM人力资源管理系统的登录模块和员工管理模块进行接口测试,并生成详细的测试报告。希望这些步骤能帮助您顺利完成实验任务。
阅读全文