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

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

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

入门简单,文档丰富,而且文档中有很多实例参考

支持参数化,可以从教细的力度控制测试用例

能够支持简单的单元测试和复杂的功能测试

支持测试跳过,失败case标记

支持失败重试

支持由nose,unittest编写的测试用例

支持HTML报告

和jenkins持续集成很方便

具有很多第三方插件,并且可以自定义扩展

01、安装pytest

cmd或者终端运行

python 自动化测试框架 浏览器 python自动化框架pytest_pytest

查看版本

python 自动化测试框架 浏览器 python自动化框架pytest_测试工程师_02

快速体验一把

python 自动化测试框架 浏览器 python自动化框架pytest_软件测试_03

在pycharm里的Terminal直接执行

python 自动化测试框架 浏览器 python自动化框架pytest_python 自动化测试框架 浏览器_04


在这里必须提醒大家注意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执行用例规则

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

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

python 自动化测试框架 浏览器 python自动化框架pytest_软件测试_05


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

python 自动化测试框架 浏览器 python自动化框架pytest_测试工程师_06


3、执行某个py文件里的某个函数或者某个类,再或者某个类里的某个方法执行pyteststudy. py里的test_ _add方法

python 自动化测试框架 浏览器 python自动化框架pytest_pytest_07

执行pyteststudy.py里的TestCase这个类

python 自动化测试框架 浏览器 python自动化框架pytest_pytest_08

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

python 自动化测试框架 浏览器 python自动化框架pytest_python 自动化测试框架 浏览器_09

4、-s 参数表示详细打印,可以把脚本中print的信息展示在结果上

python 自动化测试框架 浏览器 python自动化框架pytest_python 自动化测试框架 浏览器_10

04、Pycharm运行Pytest

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

设置步骤如下:

点开File --> Settings

在settings弹框中输入integrated 搜索

修改default test runner为pytest

python 自动化测试框架 浏览器 python自动化框架pytest_python 自动化测试框架 浏览器_11


然后在脚本中右键

python 自动化测试框架 浏览器 python自动化框架pytest_python 自动化测试框架 浏览器_12

学习安排上!