仅用作个人了解记录!
接口定义 HTTP协议 接口规范
接口测试流程 API文档解读 接口用例设计
URL = 协议 + 服务器地址 + 端口号 + 资源路径 + 参数
- HTTP协议组成:
- 请求: 行,头,体
- 响应: 状态行,响应头,响应体
- 常见请求方法 : 查询GET 新增POST 修改PUT 删除DELETE
- 常见响应状态码
- 2XX : 请求成功,如200 201 204==
- 4XX : 客户端错误,如400 401 403 404==
- 5XX : 服务端错误,如500 503==
分类 | 传统风格 | RESTful |
---|---|---|
请求方法 | 主要使用Post Get方法 | 遵循HTTP协议方法定义 |
URL | 定义资源和操作混合 | 仅定义一个资源,不包含对资源的操作 |
状态码 | 均是200 | 遵循HTTP协议状态码定义 |
Postman 接口调试 断言 自动关联
- 拿到接口项目,先测试业务接口,然后再考虑单个接口
- 如何测试业务接口
- 根据业务流程图梳理业务路径
- 设计测试用例覆盖每一条业务路径
- 如何解析接口文档
- 分析接口间依赖关系
- 分析接口请求(比如 : URL 请求方法 请求头 请求参数类型 请求参数==)
- 分析接口响应 (比如 : 响应状态码 响应数据==)
下载地址 : https://www.getpostman.com/ postman下载链接地址
如何使用postman发请求并看响应结果
设置请求方法 -> 设置URL -> 设置请求头 -> 设置请求数据 -> 点Send发请求->看响应状态码 -> 看响应体数据
如何使用postman发请求 multipart/form-data 并看响应结果
设置请求方法 -> 设置URL -> 设置请求头 -> 设置请求数据**[body->form-data->file选择上传文件] **-> 点Send发请求->看响应状态码 -> 看响应体数据
Postman自动关联解决了** 接口间需要自动传递数据;**
Postman自动关联实现思路:
①提取关联数据 pm.response.json()
②保存关联数据 pm.environment.set()
③引用关联数据 {{变量名}}
举例
Postman 如何提交查询参数
通过运行测试集的方式批量运行测试用例
正向 : 必填参数 全部参数
逆向 : 空 类型错误 长度错误 规则不符
断言作用 : 让工具代替人工自动判断预期结果和实际结果是否一致
常见断言方式有 :
场景: 测试脚本仅测试数据不一样,使用参数化提高脚本复用
步骤:
如何实现参数化
Pyhton Requests Pytest Allure 和接口测试框架
接口自动化 : 使用工具或代码代替人对接口进行测试的技术
测试目的 : 防止开发修改代码时候引入新问题
测试时机 :
python 中的"浏览器",基于urllib的HTTP库
// 安装
pip3 install requests
// 验证
pip3 show requests
//操作步骤
// 1 导包
// 2 发送接口请求
// 3 查看响应数据
// 需求 登录
//导包
import requests
//发送请求
url = "http://test.itkaka.net/api/login"
header_data = {"Content-Type":"application/json"}
login_data = {
"uname" : "admin",
"pwd":"admin123",
"code":2,
"uuid":"xxx"
}
response = requests.post(url=url,headers= header_data,json=login_data)
//查看响应
print(response.status_code)
print(response.json())
// 接口封装时,重点是依据接口文档封装接口信息,需使用的测试数据是从测试用例传递,接口
//方法被调用时需要返回对应的响应结果
// 导包
import requests
//创建接口类
class LoginAPI:
// 初始化
def _ _ init _ _(self):
// 指定url基本信息
self.url_verify = ""
self.url_login=""
//验证码
def get_verify_code(self):
return requests.get(url=self.url_verify)
// 登录
def login(self,test_data):
return requests.post(url=self.url_login,json=test_data)
:::info
接口自动化框架中配置文件的主要作用是 : 维护项目相关基本信息,比如URL和项目路径=
:::
官方帮助文档 : https://docs.qameta.io/allure
// 生成测试结果文件
//安装
pip install allure-pytest
// 使用 allure 生成测试报告的步骤
// 1. 修改 pytest.ini 配置文件
[pytest]
addopts = s --alluredir report
testpaths = ./scripts
python_files = test*.py
python_classes = Test*
python_functions = Test*
// 2. 运行pytest 命令产生测试结果文件(json文件)
pytest
// 3. 运行allure 命令生成测试报告
allure serve report
Jenkins Git GitHub
PyMysql操作数据库
Mock测试 接口加密解密测试