自动化测试 - pytest自动化测试入门介绍

Pytest测试用例的运行方式

1、主函数模式:

1、运行所有:pytest.main()
2、指定文件:pytest.main([‘-vs’], ‘test_login.py’)  # 指定运行test.login.py模块的case,其他的不执行
3、指定目录:pytest.main([‘-vs’, ‘./interface_cases’]) # 指定当前目录下的 interface_cases目录下的用例
4、通过nodeid执行指定文件内的某个方法:pytest.main([‘’-vs, ‘/.interface_cases/Test_login.py::TestInterface::test_login’])

2、命令行模式:

1、运行所有:pytest
2、

3、通过读取pytest.ini配置文件运行

1、pytest.ini是pytest单元测试框架的核心配置文件
2、位置:位置一般放在项目根目录
3、编码:必须是ANSI
4、作用:改变pytest默认的行为
5、运行规则:不管是主函数的模式运行,还是命令行模式运行,都会读取pytest.ini配置文件
6、使用样例:
	[pytest]
	addopts = -vs                   # 执行时添加的参数,空格分隔
	testpaths = ./cases          # 要执行用例的存放目录,比如当前目录下的cases目录,逗号分隔
	python_files = test_*.py     # 执行的文件以 test_开头的
	python_classes = Test       # 执行的case的类名是以Test开头的
	python_functions = test     # 执行的case的方法名是以 test开头的
	markers =                           # 给用例打标签 
		smoke
		login

参数详解:

pytest.main([参数列表])
参数是一个列表的形式
比如:
	-s : 表示输出调试信息,包括print信息;使用时:pytest -s
	-v : 表示详细的方式进行执行case,会输出类名等信息
	-vs : 表示以上两个参数合并同时使用
	-n : 支持多线程或者分布式运行用例   
		例如:-n 2 : 开启两个线程执行
		pytest -vs test_login.py -n 2
	—return 数字 : 表示失败的用例重复执行次数
		例如:pytest —vs ./interface_cases --return 2 # 当前目录下interface_cases目录下的case当有失败时会将失败的case再继续执行两次,也就是失败的case共执行3次
	-x : 当有case失败时,停止执行
	--maxfail 数字 : 当失败次数达到这个数字后,停止执行
	-k “关键字” : 只执行函数名包含 “关键字” 的用例
	-m  “标签”:指定执行某个标签的case

测试用例分组执行:

测试用例设置标签,执行执行某个标签下的用例
场景:smoke,冒烟测试用例,分布在各个模块下的,可以指定一个mark,然后执行
	@pytest.mark.smoke
	eg: pytest -vs -m “smoke or login”  # 多个mark时,可加逻辑运算符 or

测试用例跳过执行:

1、无条件的跳过
	@pytest.mark.skip(reason=“跳过执行的原因描述”)
2、有条件的跳过
	@pytest.mark.skipif(age>18,reason=“age小于18,还是未成年”)
posted @ 2021-11-14 23:55  alisleepy  阅读(251)  评论(0编辑  收藏  举报