一、Pytest基本介绍
目前,项目上常用的测试框架,针对不同语言版本,有不同的框架封装,常用的有以下四种:
- Python:unittest,pytest
- Java: testng,junit
第三方框架Pytest,它在保留了UnitTest框架语法的基础上有着更多的优化处理,是自动化测试中最易入手,最易落地交付的框架。
二、框架的优势
- 基于python的单元测试框架,它可以和selenium,requests,appium结台实现目动化测试.
- 实现用例跳过skip和reruns失败用例重跑。
- 它可以结合allure-pytest插件生成allure报告.
- 很方便和jenkins实现特续集成.
- 强大的插件库:
- pytest-html :主要生成html测试报告
- pytest-xdist :用来多线程执行测试用例
- pytest-ordering :改变测试用例的执行顺序
- pytest-rerunfailures :失败用例重跑
- allure-pytest :生成allure报告
插件的安装方式:
方法一(插件单独安装,用一个安装一个):
可以直接在终端命令窗口输入命令,如下:
pip install pytest
方法二(在已经确认项目所依赖的插件的情况下,批量安装):
1.新建txt文件,名字为 requirements.txt (注意名字拼写),文件内容如下:
2.将文件存放在项目根目录,如下图所示的位置:
3. 在终端命令窗口输入下面的命令,进行全部依赖插件的安装
pip install -r .\requirements.txt
三、使用规则
1.模块名必须以test_开头或者_test结尾。
2.测试类必须以Test开头,并且不能带有init方法.
3.测试用例必须以test开头。
命名规范:
模块名:一股全小写:多个英文之问用_隔开
类名:类名一股是首字母大写
方法名:一股全小写:多个英文之间用_隔开。
四、运行方式
4.1.主函数方式
在根目录创建主函数文件,运行主函数后,testcases文件夹下的所有用例都会默认执行,参考如下:
main() 函数内经常使用的参数(注意参数格式为:字符串列表),主要有以下几种:
-v:输出更加详细的信息。比如文件和用例名等。
-s:输出调试信息,打印信息等,
可以合并成:-vs
--reruns数字:失败重跑
-x:出现1个失败就停止测试。
-maxfail=2出现N个失败就终止测试.
-html=reports/report.html生成html怕的测试报告
-n=3 多线程。
4.2 命令行方式
直接在终端窗口输入pytest

4.3 通过pytest.ini的配置文件运行
配置文件内还可以定义用例分组:
markers =
smoke : 冒烟用例
caharge : 充电模块
根据定义的分组信息,在用例上使用@pytest.mark.smoke
执行冒烟用例时,直接在配置文件中添加以下参数
五 、Pytest测试用例执行顺序
1. 默认顺序为从上到下
2. 若想改变默认 用例的执行顺序,可以在用例上加标记:(有order装饰器的优先)
class TestAPI01:
@pytest.mark.run(order = 1)
@pytest.mark.smoke
def test_api01(self):
print('test_api01接口测试通过')
raise Exception("系统执行出错")
六、Pytest测试用例跳过
1.无条件跳过
2.有条件跳过
七、用例前后置