Python自动化必不可少的测试框架 — pytest

每天进步一点点,关注我们哦,每天分享测试技术文章

本文章出自【码同学软件测试】

码同学公众号:自动化软件测试

码同学抖音号:小码哥聊软件测试

Python在测试圈的应用非常广泛,特别是在自动化测试以及测试开发的领域,其中在自动化测试中我们常用的测试框架是uniitestpytest,本文将带领大家搭建以及熟悉pytest的使用。


既然有unittest那么为什么还要用pytest呢?

这是因为pytest有以下的特点:


  • 入门简单,文档丰富,而且文档中有很多实例参考
  • 支持参数化,可以从教细的力度控制测试用例
  • 能够支持简单的单元测试和复杂的功能测试
  • 支持测试跳过,失败case标记
  • 支持失败重试
  • 支持由nose,unittest编写的测试用例
  • 支持HTML报告
  • 和jenkins持续集成很方便
  • 具有很多第三方插件,并且可以自定义扩展

01

安装pytest




cmd或者终端运行

查看版本

快速体验一把

在pycharm里的Terminal直接执行


在这里必须提醒大家注意pytest的执行规则,规则是这样的:

考如果直接敲pytest执行,则会查找当前目录及其子目录下以 test_*.py*_test.py 文件,找到文件后,在文件中找到以test 开头函数并执行

如果只想执行某个py文件,则使用pytest xxx.py

02

pytest测试用例设计原则




用pytest写用例时,需要遵循以下的规则,才能够被识别并执行:

  • 文件名必须以*_test.py或者test_*.py命名
  • 测试函数必须以test开头
  • 测试类必须以Test开头,并且不能包含__init__方法
  • 测试类里以test_开头的方法
  • 所有的包必须要有__init__.py文件


03

pytest执行用例规则



免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章 + 私信「码同学666」获取资料哦

1、执行某个目录下所有的用例

在first这个目录下执行pytest命令,则会找该目录下的符合pytest用例规则的所有用例并执行


2、单独执行某个py文件

执行pyteststudy.py这个文件中符合pytest用例规则的所有用例,而该文件并不需要遵循pytest对于文件的命名规则


3、执行某个py文件里的某个函数

或者某个类,再或者某个类里的某个方法执行pyteststudy.py里的test_add方法

执行pyteststudy.py里的TestCase这个类

执行pyteststudy.py里的TestCase这个类下的test_one方法


4、-s 参数

表示详细打印,可以把脚本中print的信息展示在结果上


04

Pycharm运行Pytest




当然以上执行貌似都是在命令行中进行操作的,那么我们使用pycharm能不能像运行普通代码右键run呢,这就需要一定的设置了


设置步骤如下:

  • 点开File --> Settings
  • 在settings弹框中输入integrated 搜索
  • 修改default test runner为pytest

然后在脚本中右键

免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可以关注我们公众号哦:自动化软件测试

本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

测试入门到大神,这7个超实用的Python自动化测试框架请收好

随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架。只需要进行一些适用性和效率参数的调整,这些自动化测试框架就能够开箱即用,大大节省了开发时间。而且由于这些框架被广泛使用,他们具有很好的...

Python单元测试框架《python 自动化框架 pytest》

Pytest 简介pytest 是python 的一种单元测试框架,不python 自带的unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。根据pytest 的官...

详解Pytest单元测试框架,轻松搞定自动化测试实战

pytest是目前企业里面使用最多、最流行的Python的单元测试框架,那我们今天就使用这个框架来完成 一个网易163邮箱登录的自动化实战案例。下面我们先把我们案例需要的工具进行相关的介绍:01pyt...

超硬核!整理的这10个自动化测试框架,使用后简直如有神助

软件行业正朝着独立、快速和高效的未来发展。为了跟上这个快速发展的生态系统,我们必须加快应用程序的交付时间,但不能以牺牲质量为代价。快速实现质量是必要的,因此质量保证受到了很多关注。为了满足卓越质量和更...

Python测试框架pytest入门基础_pytest框架原理

Pytest简介Pytest is a mature full-featured Python testing tool that helps you write better programs. T...