• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

自动化测试教程 —— pytest 框架 ~

武飞扬头像
钱钱钱端
帮助1

学新通

pytest框架

特点:

  1. 容易上手, 入门简单, 文档丰富, 文档中有很多参考案例
  2. 支持简单的单元测试和复杂的功能测试
  3. 支持参数化
  4. 执行测试用例过程中, 支持跳过操作
  5. 支持重复失败的case
  6. 支持运行Nose, unittest编写测试用例
  7. pytest支持很多第三方插件
  8. 方便和持续集成工具集成

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

[pytest]  # 标识当前文件是pytest的配置文件

addopts = --# 标识pytest执行时增加的参数

testpaths = ./scripts # 匹配搜索目录

python_files = test_*.py # 匹配测试文件

python_classes = Test* # 匹配测试类

python_functions = test_* # 匹配测试方法

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
系列文章
更多 icon
同类精品
更多 icon
继续加载