0
点赞
收藏
分享

微信扫一扫

接口测试学习

瑾谋 2022-04-24 阅读 125
测试用例

文章目录

一、接口测试基础

1.接口及接口测试概念

在这里插入图片描述

接口的类型

在这里插入图片描述

#接口
def eat (something):
    print(f'小鸟吃{something}')

#使用接口,传递数据
def bird():
    eat('1')

bird()
小鸟吃1

接口测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.HTTP协议(超文本传输协议)

协议:规则,要求通信双方必须严格遵守
在这里插入图片描述

2.1 URL(统一资源定位符)

作用:在网络环境中,唯一的定义一个数据资源
在这里插入图片描述
在这里插入图片描述

2.2 HTTP请求

在这里插入图片描述
整体格式(Content-Type:描述请求体的数据类型)
在这里插入图片描述
在这里插入图片描述
fiddler抓包验证
在这里插入图片描述

请求行

在这里插入图片描述

请求头

在这里插入图片描述

请求体

在这里插入图片描述

2.3HTTP响应

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

状态行

在这里插入图片描述

响应头

在这里插入图片描述

响应体

在这里插入图片描述

2.4 传统风格接口

List item

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ow2LGo0i-1650257047431)(https://img-blog.c sdnimg.cn/289a0d16ce0a4a8fa7d78f156d8377cd.png)]
在这里插入图片描述

2.5 RESTful风格接口

在这里插入图片描述

3.接口测试流程

在这里插入图片描述
在这里插入图片描述

接口文档

在这里插入图片描述
在这里插入图片描述
结构
在这里插入图片描述

接口文档解析

在这里插入图片描述

黑马人力资源网页:

http://ihrm-test.itheima.net/#/settings/index

开发者工具
在这里插入图片描述

4.接口用例设计

单接口测试用例

在这里插入图片描述
在这里插入图片描述

业务场景测试用例

在这里插入图片描述
在这里插入图片描述

二、Postman实现接口测试

1.Postman介绍和安装

在这里插入图片描述

安装插件newman

node.js安装成功
在这里插入图片描述
newman安装成功
在这里插入图片描述
成功!!
在这里插入图片描述

黑马官网

http://yun.itheima.com/gongju/c144/p/3.html
在这里插入图片描述

2.Postman基本用法

在这里插入图片描述
案例:从接口文档,获取登录接口的http请求,使用postman发送
在这里插入图片描述

3.Postman高级用法

创建collections
在这里插入图片描述
点笔修改名称
在这里插入图片描述
ctrl+s 保存
在这里插入图片描述
导出用例集
在这里插入图片描述
使用默认即可
在这里插入图片描述
直接点击import即可导入
在这里插入图片描述

断言

在这里插入图片描述

1.断言响应状态码

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

在这里插入图片描述
成功
在这里插入图片描述

2.断言响应体是否包含某个字符串

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
  

在这里插入图片描述

在这里插入图片描述

3.断言响应体是否等于某个字符串(对象)

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});

在这里插入图片描述

4.断言json数据

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

在这里插入图片描述
在这里插入图片描述

5.断言响应头

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

在这里插入图片描述
在这里插入图片描述

postman断言工作原理

在这里插入图片描述

全局变量和环境变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

请求前置脚本

在send按钮点击后,第一时间被执行,在postman内部实际http请求之前
时间戳工具

案例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.查看写入的变量
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

关联

应用于多个http请求之间,有数据关联,或依赖关系时
实现步骤
在这里插入图片描述
案例
在这里插入图片描述
实现步骤:
在这里插入图片描述

//从响应结果中,获取城市名
var jsonData = pm.response.json()
var city =jsonData.weatherinfo.city

//将城市名写入到全局变量
pm.globals.set("glb_city",city)

在这里插入图片描述

在这里插入图片描述
4.
在这里插入图片描述

批量执行用例集

选中一个集合→run→执行
在这里插入图片描述

4.Postman测试报告

在这里插入图片描述

#完整的命令
newman run xxxx.json -e 环境变量文件 -d外部数据文件 -r html --reporter-html-report 第一个测试报告.html

#现在 终端 ,测试一下
newman run xxxx.jsom

在这里插入图片描述

#运行
newman run 批量执行测试用例.postman_collection.json
#保存
newman run 批量执行测试用例.postman_collection.json -r html --reporter-html-report 第一个测试报告.html

在这里插入图片描述

5.postman参数化

在这里插入图片描述

数据文件简介

在这里插入图片描述
在这里插入图片描述

导入外部 数据文件

编写csv文件→点击用例集→run→runner→select file→选中文件→点击预览,进行校验

编写json文件
在这里插入图片描述

读取数据文件数据

在这里插入图片描述
案例
在这里插入图片描述

生成测试报告

6.项目实战(iHRM)

http://ihrm-test.itheima.net/#/settings/index
在这里插入图片描述

在这里插入图片描述

初始化项目环境

新建用例集

在这里插入图片描述

创建环境变量

添加环境
在这里插入图片描述
在这里插入图片描述

登录模块

登录成功接口

请求接口
在这里插入图片描述
在这里插入图片描述
断言

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

pm.test("断言success的值为true", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.success).to.eql(true);
});

pm.test("断言code的值为10000", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.code).to.eql(10000);
});

pm.test("断言message的值为操作成功!", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("操作成功!");
});

pm.test("断言data的值为9811b176-7013-4d6f-bd3a-d4e8697762ae", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.data).to.eql( "21fa8d87-9b52-4367-a968-0b7d8f285385");
});

在这里插入图片描述

其他接口共性分析

在这里插入图片描述

实现其他接口

员工管理模块

总析

在这里插入图片描述

提取令牌

在这里插入图片描述

//拼接data的值,添加Bearer和空格。组成合法令牌

//获取响应体
var jsonData =pm.response.json()

//提取data的值,保存在tmp_token中
var tmp_token = jsonData.data 

//拼接Bearer和空格到data值的前面 “Bearer”+“ ”+tmp_token
pm.environment.set("env_token","Bearer"+" " + tmp_token)

添加员工

注意保证手机号的唯一性
在这里插入图片描述

在这里插入图片描述

提取添加员工的id

在这里插入图片描述

//获取添加员工的响应体
var jsonData = pm.response.json()

//提取员工id
var tmp_id=jsonData.data.id 
// 设置到环境变量
pm.environment.set("env_emp_id",tmp_id)

在这里插入图片描述

查询员工

{{base_url}}/api/sys/user/:target
# :target 是路径参数

在这里插入图片描述

修改员工

在这里插入图片描述

查询员工列表

改url即可
在这里插入图片描述

批量运行测试用例

在这里插入图片描述

生成测试报告

在这里插入图片描述

举报

相关推荐

0 条评论