问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

pytest基础特性02

发布网友 发布时间:2022-09-29 05:09

我来回答

1个回答

热心网友 时间:2023-11-14 02:21

pytest -html                     生成html格式的自动化测试报告

pytest -xdist                     测试用例分布式执行,多cpu分发

pytest -ordering               用于改变测试用例的执行顺序

pytest -rerunfailures        用例失败重跑

allure -pytest                    用于生成美观的测试报告

1)安装:pip install pytest-html,生成测试报告(--html=report.html)

2)使用的插件放在requirements.txt 中,通过 pip install -r requirements.txt

运行所有:    pytest 

指定模块:    pytest -vs test_login.py

指定目录:    pytest -vs ./interface_testcase

指定文件:    pytest -vs ./interface_testcase/test_interface.py::test_04_func

指定用例关键词:    pytest test_cal.py -vs -k 'div'  or 'add'    # 指定用例test_div,test_add

核心参数:

1) -s: 显示程序中的print/logging输出

2) -v: 丰富信息模式, 输出更详细的用例执行信息

3)-reruns=xxx,失败重新运行

4)--pytest -x           表示只要有一个用例错误,那么测试停止

5)--pytest -vx  ./testcase -k "ao"     选择部分执行

6)--pytest --maxfail=3  用例运行时 允许的最大失败次数,超过则立即停止

7)--pytest   -m   标记(marker)用于标记测试并分组 :pytest -vv -m smoke

8)--lf / --last-failed   只执行上次执行失败的测试

9) --pytest collect-only   只收集用例,不执行

10) --pytest junitxml=path  生成执行结果xml文件

11) --pytest setup-show   回溯fixture的执行过程

(1)运行所有:pytest.main()

(2) 指定目录:pytest.main(['-vs','./interface_testcase'])

(3)指定模块:pytest.main(['-vs','test_login.py'])

(4)指定文件:通过nodeid指定用例运行,nodeid由模块名,分隔符,类名,方法名,函数名组成

pytest.main(['-s','./pytest-demo.py','-m','smoke'])

pytest.main(['-vs','./interface_testcase/test_interface.py::test_04_func'])

pytest.ini   这个文件是pytest单元测试框架的核心配置文件

pytest.ini文件是pytest的主配置文件,可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。

pytest.ini的位置:一般放在项目工程的根目录(即当前项目的顶级文件夹下)

编码格式:ASNI

作用:改变pytest默认的行为

运行的规则:不管是主函数的模式运行,命令行运行,都会去读取这个

1)默认是从上到下,改变默认执行顺序,使用mark标记

@pytest.mark.run(order=1)

2)mark实现参数化

@pytest.mark.parametrize("test_info", data)  

3)实现分组执行

pytest.ini配置文件中增加分组参数markers来实现用例分组,如:

markers =

    g1:组一

    smoke:冒烟测试

函数中标记 @pytest.mark.g1 、@pytest.mark.smoke

执行时可按标记单独执行

Skip使用场景和Xfail使用场景

@pytest.mark.skip 、 @pytest.mark.skipif    

不想运行这个用例、标记无法在某些平台运行的测试用例、某些版本执行,其他版本跳过、当前外部资源不可用时跳过

@pytest.mark.xfail

功能尚未实施或未修复的错误,预计会失败仍xpass,报告中体现;测试某种情况就应该失败

常用断言:

assert xx 判断 xx 为真

assert not xx 判断 xx 不为真

assert a in b 判断 b 包含 

aassert a==b 判断 a 等于 b

assert a!=b 判断 a 不等于 b

(1)有条件跳过

@pytest.mark.skipif(age>=18,"已成年")   #skipif 有条件跳过

(2)无条件跳过

@pytest.mark.skip(reason="失败")     #skip 无条件跳过
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考为什么不能补报志愿? 帮我翻译一句话“不管多久以后,不管世界变成什么样子,我都是哪个最骄傲... 温州到周口的大巴车经过台州路桥客运中心那里吗? 微信怎么设置看不到微信号 不想让微信号显示出来怎么办 2021年大学教师资格证报名费用 大埔教师资格证报名网 大埔县教育局办教师资格证需要准备哪些资料? 深情触摸2016百度云链接 求深情触摸百度云分享 Java只能有main方法才能运行吗?如何指定以其他方法为入口方法? java如何运行main方法不build 一岁宝宝上火吃什么去火 梦见大河什么意思 梦见大河什么意思 孩子迷恋游戏厌学怎么办 厌学的孩子迷恋游戏如何解决呢 微信视频保存不到相册怎么回事 微信视频保存不到相册如何处理 方直彩虹公馆二期何时动工 《月下独酌(其一)》李白唐诗鉴赏 北京丰台区槐树岭那有个201所有网站吗 鼙鼓怎么读 鼙鼓是什么意思 大品牌的淋浴器口碑好的有什么呢? 梦见父亲要走,把家里收拾干净,还把一头大黄牛牵到了厕所里 我做梦梦见上厕所那厕所可脏了还过来一头牛 梦见水牛进厕所 周公解梦我上厕所,有一个牛进来 出汗后白色衣服为什么会映有红色? 请问下为什么我一出汗整件白衬衣就变红色了,漂白都没用 我的被封 了,怎么登都登不上,怎么办? 我的被封 了,怎么登都登不上,怎么办? 无法登录怎么办? Android studio怎么新建并运行普通的java类,就是那种带main方法的 我的被封 了,怎么登都登不上,怎么办? 我的被封 了,怎么登都登不上,怎么办? 永久被封了怎么办? 被永久封了怎么办? ios微信打不开word文件 快来看看吧 被永久封了怎么办? 被永久封了怎么办? 被永久封了怎么办? 真丝梅红色裙子洗后有一层白,就好像一层雾,要怎么修复? 白色裙子显黑还是显白 如何巧妙运用产品开发策略? 文中“电闪雷鸣”表达的什么意思? 《汉书》卷八十三·薛宣朱博传第五十三(2) Excel中如何设置分类汇总? 《汉书》研读419:薛宣朱博传(二) 《汉书》研读418:薛宣朱博传(一) 什么是地方各州郡辟除? 白衣服怎么存放不发黄 白色衣服怎么保存不发黄 电脑硬盘跳线一般有四种,都是代表什么意思