前提:需要安装pytes以及pytest-html(生成html测试报告)
pip install pytest 和 pip install pytest-html
一、命名规则
Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest更加严谨。
如果执行pytest命令,并不提供任何参数,pytest会在当前目录及其子目录搜索测试文件并运行测试代码。如果提供一个或多个目录名、文件名等,pytest会根据提供的参数依次搜索并运行测试代码。由此可以看出,pytest是递归搜索目录及其子目录。而pytest对于测试代码文件的命令也是有自己的规则的,详细如下:
1.测试文件名必须为test_开头或_test结尾,例如:
test_Add.py 或 Add_test.py
2.测试函数、测试类方法应该命名为test_Function或test_Method,例如:
test_Add()
3.测试类须命令为Test,例如:
TestPerson()
运行指定模块下,运行所有test开头的类和测试用例
运行指定模块指定类指定用例,冒号分割,并生成测试报告
pytest.main([‘--html=./report.html’,‘模块.py::类::test_a_001'])
直接执行pytest.main() 【自动查找当前目录下,以test开头的文件或者以test结尾的py文件】
pytest.main([‘--html=./report.html’])
pytest调用语句
pytst.main(['-x','--html=./report.html','t12est000.py'])
-x出现一条测试用例失败就退出测试
-v: 丰富信息模式, 输出更详细的用例执行信息
-s:显示print内容
-q: 简化结果信息,不会显示每个用例的文件名
pytest的运行方式
. 点号,表示用例通过
F 表示失败 Failure
E 表示用例中存在异常 Error
文件读取:读取csv的文件,读取xml的文件
编写xml文件
方法文件
读取xml文件获取xml文件中的数据
将其读取输出
生成测试报告
查看结果
编写csv文件
读取csv文件,从中获取数据
编写后生成测试报告
查看测试报告
allure
Allure是一款轻量级并且非常灵活的开源测试报告框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。
查看安装是否成功:
安装allure:pip install allure-pytest
allure-pytest是 Pytest 的一个插件,通过它我们可以生成 Allure 所需要的用于生成测试报告的数据
实现用户登录功能,场景为登录成功和登录失败
查看结果