关键词

pytest框架是什么?

框架是什么?其实就是别人写好的一些代码帮助我们做某些事情。一般会把重复工作通过代码的方式封装好,这样我们就可以调用,这些封装好的代码就是框架。

测试框架能解决什么问题?

在整个测试的过程当中,通常流程化的东西包括编写测试计划、编写测试用例、执行测试用例、提交 Bug、编写测试报告,还有沟通和开会等。

作为测试人员,平时做的最多的工作是什么?如图1所示。


图1:测试人员平时重复的工作


执行测试和提交 Bug 这个过程是重复出现的。那么我们可以把整个执行的过程封装成一个框架,每次我们只需把测试用例提交,之后让它帮助我们进行一些用例的执行及管理。

提交 Bug 这个活动也是重复的,在提交报告的过程中,我们需要一些运行结果的依据,最好能够生成一个非常漂亮的报告供我们参考,那么这部分需要有相应的框架来帮助我们实现。

总结来讲,所有的重复工作,我们都可用框架的方式实现,所以需要自己亲自设计和编写脚本代码。

执行测试及提交精美测试报告这些任务可以由 pytest 和它的插件帮助我们完成。

测试框架的分类:
  • 进行测试执行操作:Selenium、Appium、Requests;
  • 测试用例管理及执行:pytest、Unittest、Nose;
  • 测试报告:Allure;
  • 数据驱动:DDT;
  • 环境部署及持续集成:Docker、Jenkins。

pytest 是什么?

pytest 是一个基于 Python 的测试框架,用于编写和执行测试代码。

pytest 应用在自动化测试场合、单元自动化测试、API 自动化测试、Web/App 自动化测试等领域。我们可以使用 pytest 编写从简单到复杂的测试,即可以编写代码来测试 API、数据库、UI 等。

我们可以设想一下企业中实现 pytest 自动化测试执行之后的场景:开发人员在编写代码之后提交代码,然后我们便可以触发整个测试脚本的运行,运行之后,我们很快便可以得到测试的结果,那么可能当你还没有下班之前,测试结果便发到了你的邮箱,或者以短信的形式通知你,你需要把 Bug 改了才可以下班。

这种快速自动化测试出结果的方式最适合目前所需求的快速迭代,更解决了领导希望通过快速的反馈做下一步决策的问题。

pytest 的特点和优点

pytest 自动化测试框架会随着 DevOps 的落地实施而变得会越来越流行。它之所以流行,也是因为有很多的优点:
  • pytest 是免费和开源的;
  • pytest 有活跃的社区和维护组织;
  • pytest 的语法简单灵活,容易上手;
  • 支持参数化,也就是支持数据驱动;
  • 支持测试用例的 skip 和 xfail 处理;
  • pytest 可以自动检测测试文件和测试功能;
  • pytest 允许我们运行整个测试套件的一部分;
  • 能够支持简单的单元测试和复杂的功能测试;
  • pytest 是免费和开源的;
  • pytest 有活跃的社区和维护组织;
  • pytest 的语法简单灵活,容易上手;
  • 支持参数化,也就是支持数据驱动;
  • 支持测试用例的 skip 和 xfail 处理;
  • pytest 可以自动检测测试文件和测试功能;
  • pytest 允许我们运行整个测试套件的一部分;
  • 能够支持简单的单元测试和复杂的功能测试;

    注:可以与 Selenium/Appium 等一起进行 UI 自动化测试,也可以与 Requests 一起进行接口自动化测试。

  • 可以很好地和 Jenkins 集成;
  • pytest 具有很多第三方插件,并且可以自定义扩展;
  • pytest-allure 可以生成完美的 HTML 测试报告;
  • pytest 可以并行运行多个测试,从而减少测试套件的执行时间 pytest-xdist;
  • 与以前的测试框架兼容,可执行由 Unittest、Nose 所写的测试脚本。

pytest 的官网及资料地址

pytest 官网及帮助文档网址:https://docs.pytest.org/en/latest/

pypi 网址:https://pypi.org/project/pytest/

GitHub 网址:https://github.com/pytest-dev/pytest/

本文链接:http://task.lmcjl.com/news/15753.html

展开阅读全文