接口测试
http消息结构
- 请求报文
- 请求行
- 请求方式 url 协议版本
- 请求头
- 空行
- 请求体
- 请求行
- 响应报文
- 响应行
- 协议版本 状态码 状态消息
- 响应头
- 空行
- 响应体
- 响应行
请求参数类型
- path参数
- 写在路径中的
- https://xxx.xxx.com/参数值
- 写在路径中的
- query参数
- 写在url问号后面,以键值对形式存在
- https://xxx.xxx.com/xx?参数名=参数值&参数名=参数值
- 写在url问号后面,以键值对形式存在
- /header请求头参数
- Content-Type:application/json
- /body请求体参数
- 纯文本请求体
- 一般是json格式的数据
- form表单
- form文本
- form文件
注意:如果请求头中写了Content-Type:application/json,请求体无论是不是字典格式的都要写成字典,如果没有写这个请求头,那么字典就是字典,不是字典就是from表单,如果请求体格式为json的时候,默认要写请求头Content-Type:application/json
postman操作
添加query参数
- 直接写在url里的问号后面,他是和postman中params下面的query parmas是同步的。
添加请求体
- 在headers中添加。
添加纯文本请求体
- 在body中的raw里面添加。
添加form文本
- 在body下面的form data中添加。
添加form文件
- 在body下面的form data中添加。
- 将鼠标放在key上面,点击下拉框,选择file。
添加cookie
- 点击右上角的cookis
- 在输入框中填写域名
- 点击add cookie
- 将第一个键值对的键改为cookie的名称,值改为cookie的内容
断言
- 在tests模块下进行断言
- 断言状态码
- status code:code is 200
- 断言响应内容
- response body:contains string
接口的关联
- A接口的响应作为B接口的参数。
- 需要考虑三个点,怎么取,怎么存,怎么用。
- 取的话在tests模块中添加代码pm.response.json()取出所有的数据,想要取出一部分,如果是字典就使用.key,列表的话就用[下标]去取。
- 存的话是使用pm.globals.set(全局变量名,值)将数据存储为全局变量。
- 用的话是使用{{全局变量名}}的格式进行引用即可。
参数化(数据驱动)-json
- 想要批量运行相同请求的时候,可以使用参数化。
- 先将测试脚本写好,即在postman中添加接口信息。
- 编写数据文件。
- 使用json文件写数据。
- 用列表套字典的格式,有几条数据,写几个字典。
- 字典的键是变量名,值是想要传入的数据。
- 将接口中的参数值改为{{变量名}}的格式。
- 将接口保存到collections中。
- 点击collections右边的三个点,点击run collection。
- 点击select file,选择数据文件。
- 点击run运行即可。
参数化 -csv
- 步骤同上
- 编写数据文件
- 使用csv文件编写数据。
- 第一行写变量名,用英文逗号隔开,在变量名下方添加对应数据。