python代码实现接口自动化
使用工具或代码代替人对接口进行测试的技术
1、整体流程
1、选取自动化测试用例
2、搭建自动化测试环境
3、搭建自动化测试框架
4、代码实现自动化
5、输出测试报告
6、实现持续集成
2、搭建自动化测试环境
编程语言:python
测试框架:pytest
接口请求:requests(pip3 install requests、: pip3 show requests)
3、搭建自动化测试框架
apiTestFramework # 项目名称
├── api # 定义封装被测系统的接口
├── script # 定义测试用例脚本
├── data # 存放测试数据文件
├── report # 存放生成的测试报告
├── common # 存放通用工具类
├── config.py # 定义项目的配置信息
└── pytest.ini # pytest配置文件
4、requests
Requests库:python中的“浏览器”,基于urllib的HTTP库
4.1、使用
① 导包(import requests)
② 发送接口请求
③ 查看响应数据
4.2、Requests发送请求
requests.请求方法(url, params=None, data=None, json=None, headers=None)
说明:
• 常见的请求方法: get/post/put/delete
• url: 请求的url地址
• params: 请求查询参数
• data: 请求体为form表单参数
• json: 请求体为json参数
• headers: 请求头参数
4.3、Response查看响应
response. status_code 状态码
response. json JSON形式的响应内容
response. text 文本形式的响应内容
response. url 请求url
response.encoding 查看响应头部字符编码
response. headers 头信息
response. cookies cookie信息
4.4、Requests处理multipart/form-data
requests.请求方法(url, data=None, json=None, headers=None, files=None)
①读取文件数据
f = open(" test.pdf ", " rb ")
②设置请求数据
response = requests.post(url=xxx, files= {" file " : f})
4.5、断言方式
相等断言(assert test_data=='xxx')
包含断言(assert'xxx'in test_data)
4.6、数据驱动
数据驱动:以测试数据驱动脚本执行,维护焦点从脚本转向测试数据的一种自动化测试设计模式。
实现方法:pytest中parametrize装饰器-遍历所有测试数据并运行测试方法
语法:
@pytest.mark.parametrize(②保存数据参数名, ①测试数据)
def test_method(self, ③参数名)
pass
① 测试数据 : 格式列表嵌套元组
② 保存数据参数名: 参数个数必须与数据个数相等
③ 参数名: 直接复制②即可
示例:
test_data = [("manager", "123456"), ("", "123456"), ("itheima", "123456")]
@pytest.mark.parametrize("mobile, passwd", test_data )
def test_login(self, mobile, passwd)
pass
5、项目配置文件
配置文件config.py
#导包
import os
#定义环境域名
BASE_URL = "``http://``xxx"
#统一文件路径
BASE_PATH = os.path.dirname(__file__)
print(BASE_PATH)
6、allure报告
能生成美观易读的报告
支持多种开发语言,如java、python等
① 生成测试结果文件(json文件)
② 使用allure命令生成在线报告
帮助文档:https://docs.qameta.io/allure
6.1、安装
安装:pip install allure-pytest
下载&配置:
-
https://github.com/allure-framework/allure2/releases 下载 allure
-
解压缩安装包到一个 不包含中文路径的目录
-
将压缩包内的 bin 目录配置到 path 系统环境变量
-
右键我的电脑 - 属性 - 高级设置 - 环境变量 - 找到系统环境变量的path项 - 增加 allure 到 bin 目录
-
在命令行中输入 allure --version 命令,能显示allure版本信息,即为成功
6.2、生成测试结果文件&在线报告(report)
1、将pytest配置文件中的命令行参数加上如下代码(--alluredir report)
addopts=-s --alluredir ./report
2、编写好测试脚本后,在命令行行中运行pytest
[pytest]
addopts = -s --alluredir report
testpaths = ./scripts
python_files = test* * .py
python_classes = Test* *
python_functions = test* *
3、程序运行结束后,report目录中会生成一些json文件
4、运行allure命令生成测试报告allure serve report
标签:python,pytest,allure,test,requests,data From: https://www.cnblogs.com/kisssheep/p/18655311