前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytest测试框架系列(5)-常用的pytest插件

pytest测试框架系列(5)-常用的pytest插件

作者头像
搁浅同学
发布2022-07-21 14:58:48
5080
发布2022-07-21 14:58:48
举报

接着上一篇pytest测试框架的分享

这次主要分享的是pytest常用的插件,用好这些插件,对我们做自动化测试会起很好的作用。

一、用例失败重试插件

在UI自动化测试的时候,有可能会出现环境或者网络等问题,导致测试脚本失败,如果我们可以将脚步重新跑一次或者两次,可能测试脚本就跑通过,如果还是没有通过,那大概率是BUG,用例失败重跑,可以减少人工分析测试脚本失败的原因的工作量。pytest用到用例失败重跑的插件是pytest-rerunfailures

代码语言:javascript
复制
pip install pytest-rerunfailures

代码示例如下:

代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
def test_num():
    assert 2 == 2

def test_equal():
    assert 1 == 2

通过pip安装插件,然后通过以下命令运行,可以看到失败的总共运行了3次,第三次才标记失败

代码语言:javascript
复制
pytest -v -s test_failures.py --reruns 2

二、改变测试用例执行顺序

pytest的测试用例执行顺序是按照assii大小进行执行的,但是有时候我们需要改变执行顺序才能符合我们的预期,我们可以通过pytest-ordering插件来更改执行顺序

代码语言:javascript
复制
pip install pytest-ordering

示例代码

代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pytest
@pytest.mark.run(order=2)
def test_num():
    assert 2 == 2

@pytest.mark.run(order=1)
def test_equal():
    assert 1 == 2
通过装饰器的方式order的值越小,就越先执行

三、并发运行测试用例

用例比较多的时候,按顺序执行测试用例花费的时间比较长,我们可以并发执行测试用例,并发执行的插件有两个比较常用的

  1. pytest-parallel
  2. pytest-xdist

pytest-parallel

代码语言:javascript
复制
pip install pytest-parallel

通过命令执行所有的测试用例

代码语言:javascript
复制
pytest --workers 2 --tests-per-worker 3
# 指定2个进程并发,每个进程最多允许3个线程

pytest-xdist

代码语言:javascript
复制
pip install pytest-xdist

#运行的命令
pytest -n x  x是线程数

四、测试报告插件

pytest-html是pytest常用的一个测试报告插件

代码语言:javascript
复制
pip install pytest-html

通过执行命令加上--html参数运行,比如

pytest -v -s --html=report.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 暴走的软件测试Tester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档