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

就是那么轻松的测试框架pytest下

武飞扬头像
起码@有故事
帮助1

相关阅读:就是那么轻松的掌握测试框架pytest(上)

学新通

断言

如果没有断言,你的自动化将毫无意义。关键字assert,左右两边放上预期结果和实际结果进行对比。

deftest_add(self):    a = 1assert a==2
学新通

收集和运行用例

相比于unittest,pytest不需要另写代码去收集测试用例。使用命令将自动收集测试用例。

pytest [参数]

pytest中自动收集用例的机制是怎样的呢?

- 目录:pytest命令在哪个目录下运行,就以哪个目录为根目录向下收集

- 文件名:命名符合test_xxx.py或者xxx_test.py的文件

- 函数/类下方法:函数名以test_开头、以Test_开头的类下的test_开头的方法

当你写测试用例时,遵循以上几点,即会被自动收集。

使用命令行:pytest -v -s 或在python文件使用:pytest.main(["test_case/test_login_page.py","-v","-s"])会进行收集、运行用例。

生成测试报告

pytest可以使用插件 pytest-html、allure都能在运行完成后生成测试报告。

安装插件:pip install pytest-html

通过命令生成测试报告:pytest.main(["test_case/test_login_page.py","-v","-s","--html=report/test.html"])

学新通

如果喜欢颜值高的可以使用allure插件。

pytest常用插件

除了上面提到的测试报告插件,实际应用中使用比较多的有:多重断言插件、失败重跑插件。

多重断言pytest-assume:

如果一个用例中有多个断言,在一个断言失败后,pytest原生断言assert是不会继续执行其他断言了。而使用pytest-assume可以继续执行下面的断言。

安装:pip install pytest-assume

  1.  
    # 原生断言
  2.  
    def test_assume1(self):
  3.  
    assert 1==2
  4.  
    assert 1==3
  5.  
    # 断言插件
  6.  
    def test_assum2(self):
  7.  
    pytest.assume(1==2)
  8.  
    pytest.assume(1 ==3)

assert断言遇到断言失败不会再执行下个断言:

学新通

pytest.assume断言遇到断言失败还会继续执行下个断言:

学新通

失败重跑pytest-rerunfailures:

安装:pip install pytest-rerunfailures

使用:pytest test_class.py --reruns 5 --reruns-delay 1 -vs (失败后重新运行5次,每次间隔1秒)

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggbbkk
系列文章
更多 icon
同类精品
更多 icon
继续加载