自动化测试教程 —— pytest 框架 ~
pytest框架
特点:
- 容易上手, 入门简单, 文档丰富, 文档中有很多参考案例
- 支持简单的单元测试和复杂的功能测试
- 支持参数化
- 执行测试用例过程中, 支持跳过操作
- 支持重复失败的case
- 支持运行Nose, unittest编写测试用例
- pytest支持很多第三方插件
- 方便和持续集成工具集成
1. pytest断言
断言方法: assert result
2. pytest方法级别的fixture
- pytest方法级别的fixture是针对每个测试方法, 在执行测试方法前会执行fixxture初始化操作, 在执行完测试方法后, 执行fixture销毁操作
- 初始化操作方法: def setup(self): 方法来实现
- 销毁的操作方法: def teardown(self): 方法来实现
3. pytest类级别的实现
- pytest类级别的fixture针对每一个测试类的初始化和销毁操作, 可以放在一下两个方法中
- 类级别初始化的方法: def setup_class(self):
- 类级别销毁的方法: def teardown_class(self):
- 方法名称固定, 不能修改
4. pytest配置文件
pytest的配置文件有固定的三个名称: pytest.ini tox.ini
1 2 3 4 5 6 |
|
5. 控制用例的执行顺序
- unittest测试用例执行顺序是根据测试方法名称的assic码值大小来的, 值越小排在越前面
- pytest正常情况下是根据测试方法的从上到下的顺序来执行
- 可以通过pytest-ording插件来控制pytest测试方法执行的顺序
- 使用
- @pytest.mark.run(ordeer=x) # x表示的是整数(既可以是整数也可以是负数)
- 全为负数或者整数时, 值越小, 优先级越高
- 既有正数, 又有负数, 那么正数优先级高
- 没有确定执行顺序的用例优先于负数
6. 失败重试
- 安装插件pytest-rerunfailures
- 使用
- 在addopts参数行中增加对应的参数配置项: --reruns x(x为一个整数, 代表要执行几次)
- 当重复执行成功时, 就不会再重复执行
7. 跳过
- @pytest.mark.skipif(condition, reason=None)
- condition表示的是跳过的条件
- 这里的reason参数必填
- @pytest.mark.skip(reason=None)
- reason表示的是跳过的原因
8. 数据的参数化
- pytest参数化的实现: @pytest.mark.parameterize(argnames, argvalues)
- argnames表示的是参数的名字, 是一串字符, 多个参数之间由逗号隔开 "username, password"
- argvales 表示的是参数化的数据, [("1111", '1234'), ("2222", '1111')]
- argname订单参数个数要与argvalues例面的测试数据的个数要相同, 否则会报错
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggbcaf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13