2026/3/31 9:00:36
网站建设
项目流程
二级网站如何一级域名,绿色商城网站模板,设置网站语言,上海建设主管部门网站#x1f345; 点击文末小卡片#xff0c;免费获取软件测试全套资料#xff0c;资料在手#xff0c;涨薪更快一、Pytest 优点认知1.可以结合所有的自动化测试工具
2.跳过失败用例以及失败重跑
3.结合allure生产美观报告
4.和Jenkins持续集成
5.很多强大的插件pytest-html点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快一、Pytest 优点认知1.可以结合所有的自动化测试工具2.跳过失败用例以及失败重跑3.结合allure生产美观报告4.和Jenkins持续集成5.很多强大的插件pytest-html生产html测试报告 pytest-xdist多线程运行 pytest-ordering改变用例执行顺序 pytest-rerunfailures失败用例重爬 allure-pytest:美观测试报告一般项目中会使用requerments.text文档保存插件名称进行批量一次性安装pip install -r requerments.txt二、运行方式1.主函数运行方式main方法运行2.命令运行方式pytest -vs-v更加详细信息-s调试信息-n处理多线程运行--reruns数字失败用例重跑--reruns数字失败用例重跑--html./report.html生成html报告用例分组运行1.进行用例分组2.用例进行注解#pytest.mark.分组名称 如下pytest.mark.smoke[pytest] ##运行命令例如 -vs -m smoke分组执行名称都是固定的 addopts -vs #测试用例文件目录 testpaths ./testcases python_files test_*.py python_classes Test* python_functions test_* ##分组 markers smoke:maoyan case:gongneng三、前置后置夹具1.简单区分直接调用方法但是接口过多时比较麻烦def setup(self): print(每个用例执行之前都执行一遍) def teardown(self): print(每个用例执行之后都执行一遍)2.实现部分前置如只想之一个用例进行前置如登录时需要连接数据库。需要使用装置器参数介绍pytest.fixture(scope作用域,params数据驱动,autouse是否自动执行,ids自定义参数,name重命名)作用域可以函数、类、模块、包、session使用方法1.需要前置的功能函数上进行标注装置器2.别的方法函数之间调用装置器如下一个文件里面进行部分前置唤醒import time import pytest import requests #实现装置器标注前置进行标注yieid进行唤醒返回 pytest.fixture(scopefunction) def conn_getbase(): print(连接数据库成功) yield print(关闭数据库成功) class TestSendRequsets: #过多接口时比较麻烦冗余 # def setup(self): # print(每个用例执行之前) # # def teardown(self): # print(每个用例执行之后) def test_getImgCode(self): # 接口url t time.time() timess str(int(round(t * 1000))) times str(int(t)) url http://124.71.230.185:9002/jeecg-boot/sys/randomImage/ timess # 参数 data { _t: times, } # # get请求 rep requests.request(get, url, paramsdata) print(rep.text) # 标注为smoke分组用例 pytest.mark.smoke def test_Login(self,conn_getbase): # post请求 url http://124.71.230.185:9002/jeecg-boot/sys/login # 参数 data { captcha: Gkak!#2021, checkKey: 1637811815838, password: 123456, remember_me: 1, username: admin } rep requests.request(post, url, jsondata) statues rep.json()[success] message rep.json()[message] if statues: print() else: # raise Exception(message) print(message) if __name__ __main__: pytest.main();3.封装灵活调用一般情况下pytest.fixture()会和conftest.py文件一块使用conftest.py名称是固定的功能如下1.用处是多个py文件之间共享前置配置。2.里面的方法在调用时不需要导入可以之间调用3.可以都多个conftest.py文件也可以有不同的层级conftest.py文件详情请看下一章实现1.目录下之间创建conftest.py文件2.把上面的这段代码之间粘贴到conftest.py文件中# 前置函数 import pytest pytest.fixture(scopefunction) def conn_getbase(): print(连接数据库成功) yield print(关闭数据库成功)最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。