Pytest
Pytest学习
cgz_csdn
高级软件测试工程师
展开
-
Pytest简介及常用插件安装
(1)通过在项目的根目录下新增一个requirements.txt文件保存插件。pytest-rerunfailures(失败用例重跑的插件)allure-pytest(生成美观自定义的allure报告)pytest-ordering(改变用例的执行顺序的插件)pytest-html(生成html报告的插件)pytest-xdist(多线程运行的插件)备注:上面截图的already是提示已经安装好了。(2)把需要安装的插件一次性复制到文件内;4.Pytest有很多强大的插件。原创 2024-01-05 11:26:13 · 413 阅读 · 1 评论 -
pytest测试用例前后置,固件
teardown_class:类的清除。setup_class:类的初始化。teardown:每个用例清除。setup:每个用例初始化。原创 2024-01-05 14:59:56 · 347 阅读 · 1 评论 -
pytest使用fixture实现部分前后置
package/session:在整个项目会话之前和之后执行。如果希望在另一个py文件中调用需要结合contest.py文件使用。function:在函数之前和之后执行。class:在类之前和之后执行。autouse:自动执行,默认是False。原创 2024-01-05 15:17:32 · 364 阅读 · 1 评论 -
pytest默认测试用例的规则以及基础应用
-reruns num 失败重跑 前提是安装了失败重跑的pytest-rerunfailures插件,如:pytest -vs --maxfail=2。如:pytest -vs --html ./reports/result.html。--html 生成html测试报告,前提是安装了pytest-html插件。-vs -v输出详细信息,-s输出调试信息;如:pytest -vs -x。如:pytest -vs --reruns=2。如:pytest -vs -n=2。1.通过命令行方式执行;原创 2024-01-05 12:37:01 · 442 阅读 · 1 评论 -
单元测试框架
单元测试框架是在自动化测试或者白盒测试中对软件的最小单元(函数,方法)进行测试的框架。Python:unittest,pytest(主流)java:Testng(主流)和Junit。3.单元测试框架主要做什么?1.什么是单元测试框架?2.单元测试框架分类。原创 2024-01-05 10:52:47 · 325 阅读 · 1 评论 -
pytest跳过测试用例
1.无条件跳过 @pytest.mark.skip(reason="XXX"),reason是跳过的原因。2.有条件跳过 @pytest.mark.skipif()原创 2024-01-05 14:44:14 · 386 阅读 · 1 评论 -
pytest结合allure-pytest插件生成报告
(2) 在pycharm里面验证;2.下载allure,下载之后解压,解压之后还要配置环境变量(验证allure是否安装成功:allure --version。把allure目录下的bin目录配置到系统变量的path路径。--clean-alluredir 清空上次执行的临时报告。(3)定制化功能,可以定制化专属功能,例如报告的logo等;--alluredir=./temps 生成临时报告。1.安装allure-pytest插件;(2)生成正式的allure报告。3.生成allure报告。原创 2024-01-04 15:59:32 · 385 阅读 · 1 评论 -
Pytest的断言
使用Python自带的断言,使用assert。原创 2024-01-04 15:25:39 · 332 阅读 · 1 评论 -
Pytest的yaml格式测试用例读写封装
1.yaml是一种数据格式,扩展名可以是yaml,yml,支持#注释,通过缩进表示层级,区分大小写。(2)数组(list),使用'-'表示列表。(yaml、ini)(1)map对象,键:(用于编写自动化测试用例。原创 2024-01-04 16:55:23 · 359 阅读 · 1 评论 -
Pytest的parametrize()实现数据驱动
args_value:参数值:(格式有四种:列表和字典列表,元祖和字典元祖),用n个值用例就执行n次。args_name:参数名称,用于将参数值传递给函数。第二种用法:可以解包。原创 2024-01-04 16:14:52 · 411 阅读 · 1 评论 -
自动化框架选型,为啥选择框架和平台?
1.对于现在的项目来说,一般接口的数量都是巨大的,怎么去实现团队协作,包括版本控制,如果通过工具团队协作是通过联网来完成,怎么解决安全性问题;2.工具的功能都写死了,像京东里面,自定义加密的接口,验签的接口,很难去实现;3.比如在一个项目里面,一般会有混合多种协议的接口,像http websocket等类型的接口,工具一般都只支持一种类型的接口;5.框架和平台可以自定义一些功能,并且把框架和平台推广到所有的项目中去复用,4.生成一些美观的测试报告,包括做一些日志的监控,工具都是做不到的;原创 2024-01-04 19:34:43 · 325 阅读 · 1 评论 -
pytest fixture
2.params:fixture的可选形参列表,支持列表传入默认None,每个param的值fixture都会去调用执行一次,类似for循环,可与参数ids一起使用,作为每个参数的标识,被fixture装饰的函数要调用是采用:request.param(固定写法)5.name:fixture的重命名,通常来说使用fixture的测试函数会将fixture的函数名作为参数传递,但是pytest也允许将fixture重命名,如果使用name,那只能将name传入,函数名不再生效。原创 2023-08-04 16:47:34 · 30 阅读 · 1 评论 -
Pytest执行过程
4.查询测试用例的py文件中是否有setup,teardown,setup_class,teardown_class;5.再根据pytest.ini文件的测试用例的规则去查找用例并执行。2.查询当前目录下的pytest.ini文件;1.查询当前目录下的conftest.py文件;3.查询用例目录下的conftest.py文件;原创 2024-01-04 15:22:24 · 355 阅读 · 0 评论