Pytest基础
文章平均质量分 89
系统的讲解Pytest这个库的方方面面
wuxianfeng023
在ZTE做过7年+测试工程师,测试经理;在某电力公司做过质量主管,产品经理;后在教育机构待过2-3年。现在尝试创作,分享,共同进步。
展开
-
浅谈Pytest中的marker
marker是pytest中pick用例的多种方式之一(-m),其他pick用例的方式比如-k,–allure的几个。pytest中处理warning的方式考虑单独开个章节讲下 TODO。运行的时候带上-m login即可选择登录用例进行测试。命令行参数–strict-markers。而-m的语法还比较复杂,可以参考-k的。创建一个conftest.py。或者放pytest.ini中。通过命令行参数-m即可。比如现在有这个case。原创 2023-12-16 20:15:34 · 1079 阅读 · 0 评论 -
Pytest插件pytest-rerunfailures失败重跑
同样的代码,换个参数–rerun-except,除了ValueError才会重跑,遇到ValueError并不重跑。但是condition并没有这个命令行,它变成了–only-rerun(确切的说也不是变,有点不太一样了)测试AssertionError的时候 貌似跟我预期的不太一样,可能是我眼花了。你测试多次会发现,遇到失败的情况压根就不会重跑的,因为condition不满足。–only-rerun的意思很明确,只有遇到ValueError才重跑。那你的输出很可能就是如下的。如果把assert改为。原创 2023-12-17 08:30:00 · 793 阅读 · 0 评论 -
浅谈Pytest中的warning处理
命令行的做法也可以等价到装饰器的写法,跟大多数的插件类似,命令行是针对所有的,装饰器是针对某个case的。这个意思是,所有的warning都被处理成error,但忽略DeprecationWarning。–disable-warnings命令行选项可以禁用warning summary。注意:当警告与列表中的多个选项匹配时,将执行最后一个匹配选项的操作。还有一个命令行-pno:warnings,完全禁用警告捕获。实测-pno:warnings的pno要挨在一起,这有点…可以看到case变成了failed。原创 2023-12-15 10:20:53 · 1045 阅读 · 0 评论 -
Pytest插件pytest-repeat重复执行
Pytest-repeat.py的部分源码'--count',default=1,type=int,type=str,原创 2023-12-16 09:30:00 · 926 阅读 · 0 评论 -
Pytest插件pytest-assume多重断言
https://pypi.org/project/pytest-assume/ 不要看,啥都没有https://github.com/astraw38/pytest-assume github上也就讲了几句。原创 2023-12-16 08:15:00 · 913 阅读 · 0 评论 -
Pytest插件pytest-order指定用例顺序
关于用例的顺序相关的插件是不少的,比如pytest-randomly:随机顺序pytest-reverse:反转(通过一个hook亦可实现)pytest-random-order :随机顺序pytest-depends:依赖pytest-find-dependencies:寻找依赖写完发现他有个doc,白整了~原创 2023-12-16 07:00:00 · 972 阅读 · 0 评论 -
Pytest插件之pytest-base-url切换测试环境
pytest-base-url插件极其简单,是用来学习插件编写的非常好的DEMO。测试代码:类似于fixture。pytest.ini示例。原创 2023-12-15 09:19:33 · 424 阅读 · 0 评论 -
pytest7.4版本的一个变更,可能会影响你的项目
项目结构如下顶层conftest.py内容pmCases下的conftest.py内容test_logout.py内容。原创 2023-12-07 06:59:42 · 890 阅读 · 0 评论