预研背景
目前系统研发多为前后端分离,当后端接口研发完成后,可以不依赖前端界面通过接口测试提前发现问题并解决。同时由于软件迭代周期不断缩短,开发新功能后又担心影响原有功能,可以通过接口自动化进行原有功能快速回归测试,将更多精力专注于迭代功能测试,这样才能放心地发布产品。由此看来,接口自动化测试可以减轻工作量,提高测试效率和产品质量。市面上的主流接口自动化测试工具或框架很多,需要调研对比各自的特点,挑选出适合项目的工具快速完成自动化测试。
预研目标
体验工具主要特性功能使用及便利性,体验内容包含如下:
l 单接口测试
l 多接口组合测试
l 测试报告
l 测试用例管理
l 日志查看
l 脚本调试
l 持续集成
工具/框架介绍
Pytest是一个软件测试框架。它是一款命令行工具,可以直接测试各类程序自动找到测试用例执行,并且汇报测试结果。
l 主要特性:
1) 易于上手,入门简单
2) 能支持简单的单元测试和复杂的功能测试
3) 测试用例编写简单可读性强,支持参数化
4) 灵活指定用例执行方式、顺序等
5) 丰富的基础库,可以大幅提高用户编写测试用例效率
6) 详细的日志输出
7) 灵活、扩展性好,可以很容易地融入已有的开发测试流程如可运行由unittest和node编写的测试用例
8) 很容易与其他工具集成到一起使用,比如和jenkins持续集成、allure测试报告展示等
官网:https://docs.pytest.org/en/latest/index.html
工具/框架环境搭建
使用Python3+Pytest+Request+Jenkins+Allure框架来进行接口自动化测试,并实现持续集成,自动生成html测试报告。
1、Python安装
它不依赖与Python版本,Python2(2.6及更高版本)和Python3(3.3及更高版本)都可以安装最新版本的pytest。
l 检查本地是否已有python环境:
python --version
l python3安装(若已经安装,此步忽略)
安装可参考:https://blog.csdn.net/weixin_40844416/article/details/80889165
1、requests安装
l 通过命令行安装requests
pip install request
3、Pytest安装
l 通过命令行安装Pytest
pip install pytest
l 命令行检查安装版本
pytest --version
4、Pycharm配置pytest运行程序
Pycharm File->Settings->Tools->Python Integrated Tools,选择需运行pytest项目