【python】python+pytest+allure+jenkins的接口自动化框架搭建
2022/2/8 20:14:21
本文主要是介绍【python】python+pytest+allure+jenkins的接口自动化框架搭建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、目的
本文用于记录python接口自动化框架搭建的主体架构
二、python自动化编码环境准备
见上一篇博客【python】python自动化编码环境准备
三、框架目录结构介绍
说明:
|--comon #定义的公共类、函数。包括Excel处理、log等。 |--excel_parse #解析excel通用类 |--logger #记录日志通用类 |--request #接口请求通用类 |--login #处理登录及session初始化 |--conf |--conf.ini #全局配置文件,主要存放服务器ip,端口,登录用户名密码等信息。 |path_config.py #全局路径定义文件,例如测试数据存放路径等 |read_config.py |--report #测试报告输出目录,包括allure-report和logs。 |--src_libs #自定义的关键字库,业务封装 |--aa #自定义类aa |--bb #自定义类bb |--testcase #测试用例 |--test_aa #用例文件,以test_*开头 |--test_bb |--testdata #测试数据 |--testdata_aa #e.g.存放大搜测试数据,excel格式 |--testdata_bb |--main.py #测试用例主入口,支持带参数执行。 |--pytest.ini # pytest配置文件,用于定义case标签。
四、框架数据流
- 读取接口配置文件config.ini,包括:hostip,hostport,username,password等
- 读取Excel中的测试用例数据,返回用例列表caselist
- 参数化测试用例,将caselist中的用例数据逐条传递到用例中,处理数据中参数、变量
- 发送http请求,获取返回信息
- 校验结果,response result=expect result
- 存储变量
- 输出测试报告 ${workspace}/report/html/index.html
五、pytest简介
5.1.用例命名规则:
- 符合命名规则test_*.py 或者 *_test.py的文件
- 以test开头的函数名
- 以Test开头的测试类(没有__init__方法)当中,以test_开头的方法
- 断言使用基本的assert即可
5.2.用例执行顺序:
- 先执行类前置–>单用例前置–>方法用例–>用例后置–>类后置
- setup_class → setup_method → testcases ->teardown_method→teardown_class
- testcases的执行顺序随机
5.3.pytest执行用例
- 终端执行:pytest --sv test_XXX.py -m "smoke" --alluredir=../../report/allure_dir --clean-alluredir
- 主函数执行:pytest.main(["-sv","test_XXX.py","-m","smoke"])
- main.py 执行:python main.py test_XXX.py 10.82.241.66 8099
5.4.支持测试场景
- 支持对testcase分类执行@pytest.mark.smoke;pytest -m "smoke or V1.1.1"
- 跳过指定用例执行@pytest.mark.skip
- 支持自定义前置后置条件@pytest.fixture()
- 支持jenkins集成
- 支持多个接口之间的数据复用
- 测试数据驱动脚本,无需编写代码。使用Excel快速编写接口测试用例
六、框架
使用流程
- 在config.ini中配置服务器基本信息
- 在Excel中编写测试用例,并标记出需要运行的用例,放置在指定的路径testdata下
- 在pycharm中编写测试用例,参考【python】如何编写你的第一个自动化用例
- 在pycharm终端进入对应的用例文件夹下执行用例
#pytest -sv test_demo.py --alluredir=../../report/allure_dir --clean-alluredir
5.用例结束后,生成allure报告
#allure generate ../../report/allure_dir -o ../../report/html --clean
6.查看allure报告,在../../report/html目录下查看index.html,即测试报告
这篇关于【python】python+pytest+allure+jenkins的接口自动化框架搭建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法