美文网首页东亚韩日留学
自动测试框架Py.test介绍

自动测试框架Py.test介绍

作者: 燕京博士 | 来源:发表于2022-03-24 20:48 被阅读0次

Pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效,支持315种以上的插件,同时兼容 unittest 框架。这就使得我们在 unittest 框架迁移到 pytest 框架的时候不需要重写代码。接下来我们在文中来对分析下 pytest 有哪些简洁、高效的用法。
pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:

1、简单灵活,容易上手,文档丰富;
2、支持参数化,可以细粒度地控制要测试的测试用例;
3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);
4、pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;
5、测试用例的skip和xfail处理;
6、可以很好的和CI工具结合,例如jenkins
首先使用 pip 安装 pytest

pip3 install pytest

查看 pytest 是否安装成功

pip3 show pytest

Py.test相比unittest只有setUp()和tearDown(),pytest则拥有module级别、class级别、method和function级别的setup()和teardown(),能够更好地控制用例的执行。

  1. setup_module()和teardown_module
    如果在一个.py文件中有多个测试函数和测试类,并且只想执行执行一次setup和teardown,则可选择在该文件中使用setup_module和teardown_module。
    ps:pytest3.0中,“_module”可省略


    image.png
  2. 同样地,如果一个测试类中有多个测试方法,并且只想执行一次setup和teardown,则可选择在该类中使用setup_class和teardown_class。
image.png

3. Py.test 常用annotation总结如下;

Py.test 框架基础的注解如下;

  • usefixtures -在测试函数或类上使用fixture

  • filterwarnings -过滤测试函数的某些警告

  • skip -总是跳过测试函数

  • skipif -如果满足某个条件,则跳过测试函数

  • xfail -如果满足某个条件,则产生“预期失败”结果。

  • parametrize -对同一测试函数执行多个调用。

ALLURE 常用注解基本特性使用

@allure.feature(‘测试xiadan的撤单’) — 撤单模块

@allure.story(‘多笔撤单功能’) —子功能模块,测试用例类

@allure.step(“测试步骤”) ----引用某个函数作为操作步骤的时候使用

with allure.step(): ---- 写在测试用例函数里面
pass

添加文本说明或者附件

*@allure.title(‘子标题,市价买入页面多笔撤单’) --该用例标题

*@allure.severity(allure.severity_level.BLOCKER) --用例的级别

*@allure.testcase(url=‘https://www.baidu.com’,name=‘用例链接显示的名称’)

*@allure.issue(url=‘https://www.baidu.com’,name=‘bug管理平台’)

*@allure.attach(bady,name.attachment_type) //附加文件信息

*@allure.attach.file(source=‘源文件’,name=显示名称,attachment_type=文件类型)

以上@allure需在def或class前或函数中使用,也可使用allure.dynamic.title('title')在用例中动态添加.

4. 生成测试报告

pytest.main([‘--html=./report.html’,‘模块.py::类::test_a_001'])
运行指定模块指定类指定用例,冒号分割,并生成测试报告

pytest.main(['-x','--html=./report.html','t12est000.py'])

-x出现一条测试用例失败就退出测试

-v: 丰富信息模式, 输出更详细的用例执行信息
-s:显示print内容
-q: 简化结果信息,不会显示每个用例的文件名

pip install pytest-cov # 计算pytest覆盖率,支持输出多种格式的测试报告
pytest --cov-report=html --cov=./ test_code_target_dir

相关文章

  • 自动测试框架Py.test介绍

    Pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效,支持315种以上的插...

  • 第一个Django App(五)

    自动测试介绍 什么是自动测试? 为什么需要创建自动测试? 1、测试会节省你的时间 2、测试不仅仅是定位问题,也阻止...

  • 自动测试框架unittest

    版权所有,如需转载,请联系作者 一.基本测试结构 测试有两部分组成: 管理测试依赖库的代码 测试本身 单个测试通过...

  • MySQL自动测试框架

    MySQL自动测试框架是一个以MySQL框架和内部引擎为测试对象的工具,主要执行脚本在发布路径的mysql-tes...

  • Android自动测试框架Espresso

    不错的官方文档翻译(含作者见解)这篇文章翻译简直太棒了,本文的内容都来自对该文章所记录的笔记。Android自动化...

  • 树莓派自动化测试工具LTF

    自动测试框架(Linux-Test-Framework)让我们可以方便、快捷的对我们的树莓派进行性能测试,命令测试...

  • PHP自动测试框架Top 10

    转载自:慧都控件网 [http://www.evget.com] 对于很多PHP开发新手来说,测试自己编写的代码是...

  • 安装持续集成工具Jenkins

    Jenkins是一个流行的持续集成框架,可以在我们提交项目的时候自动测试、运行和部署项目。虽然Jenkins使用J...

  • 树莓派4B性能测试

    本文是对树莓派进行性能、命令、语⾔、开发环境、⽂件系统测试教程。 0 感谢 感谢大佬L z编写的自动测试框架(Li...

  • 图说安装QTP

    一、QTP介绍 QTP是Quick Test Professional的简称,是一种自动测试工具。比较多的运用在测...

网友评论

    本文标题:自动测试框架Py.test介绍

    本文链接:https://www.haomeiwen.com/subject/ifpljrtx.html