Pytest骨灰级教学(一)入门
众所周知,Pytest已经是自动化测试行业中炙手可热的一个存在,所以咱们废话不多说,直接进入Pytest骨灰级教学。本教学将分为几个文章进行。
一、环境安装
pytest是python中的第三方库,使用之前需要先安装,在命令行中运行以下安装命令 :
pip install pytest
检查安装是否成功以及安装的版本,命令行命令如下:
pytest --version
执行上述命令,能够输出版本信息,就说明安装成功。
二、用例编写
当我们通过pytest执行用例时,pytest会默认自动递归遍历执行路径下所有的目录,根据pytest中默认用例的识别的规则,自动收集测试用例。所以在使用pytest编写测试用例之前,我们首先需要了解一下pytest收集用例时默认的用例识别规则。
1、默认的用例识别规则
1.1、用例文件:所有文件名为test_ 开头 或者 _test 开头的文件会被识别为用例文件
1.2、用例类:测试文件中每个Test开头的类就是一个测试用例类
1.3、测试用例:测试类中每个test开头的方法就是一条测试用例,测试文件中每个test开头的函数也是一条测试用例
通过了解上述pytest中用例识别的规则,可以知道pytest中用例编写,可以使用函数的形式,也可以使用类的形式,那么接下来就分别给大家介绍一下这两种方式编写用例。
2、函数形式编写用例 规则:用例方法名以test开头
def test_demo():
assert 100 == 100
使用命令 pytest demo1.py
就可以执行测试函数,输出结果如下:
3、以类的形式编写用例 规则: 测试类命名以Test开头,用例方法以test开头
class TestDemo:
def test_demo1(self):
assert 11 == 11
def test_demo2(self):
assert 22 == 21
使用命令 pytest demo2.py
就可以执行测试函数,输出结果如下:
从上面的运行结果可以看出来,test_demo1用例执行通过,test_demo2用例执行失败
三、执行测试用例
在上面我们使用的是 pytest 这个命令去执行测试用例。关于pytest执行测试用例,有两种方式,一种是命令行通过pytest这个命令执行,另外在代码中可以通过pytest.main()
这个方法来执行测试用例。接下来就和大家分别详细的介绍一下pytest执行测试用例的方式和常用的参数。
1、pytest命令
参数 -v
:显示测试的详细参数信息
参数 -s
:显示测试执行的输出信息
参数 -x
:
pytest -xsv 文件名.py -x是遇到错误就停止
pytest -xs --maxfail=2 文件名.py --maxfail=2 遇到两个错误就停止
指定执行的测试目录:pytest 测试目录路径, 例如 pytest test_cases pytest会执行指定目录路径下所有用例文件的测试用例
指定执行的测试文件:pytest 测试文件路径, 例如 pytest test_cases/test_demo1.py pytest会执行指定用例文件中所有的测试用例
指定执行的测试类: pytest 测试文件::测试类, 例如 pytest test_cases/test_demo1.py::TestDemo pytest会执行指定测试类里面所有的测试用例
指定执行的测试用例:pytest 测试文件::测试类::测试方法 例如 pytest test_cases/test_demo1.py::TestDemo::test_demo1 pytest只会执行test_demo1这一个测试用例
2、pytest.main执行的参数传递 所有参数放在列表中,每个参数就是列表中的一个元素
新建一个运行入口 run.py
pytest.main(['-v','-s'])