Pytest-入门学习
标签: Pytest-入门学习 JavaScript博客 51CTO博客
2023-05-08 18:24:13 92浏览
1.1-----------------------------初次认识pytest框架
一次性安装所有插件的方法
(1)创建一个requirements.txt文件
(2)将所有插件名称放进去
(3)在命令行输入pip install -r requirements.txt
1.2-----------------------------pytest的运行模式
(1)主函数模式运行
试运行结果
(2)命令行模式运行
(3)通过读取pytest.ini配置文件
1.2.1---------------------------运行模式的几种形式
**
自动化脚本常用模式通过读取pytest.ini配置文件
**
***这里注意下根目录是用一个点./web_testcases***后面发现前面写错了,这里进行备注
1.2.2---------------------------运行模式参数详解
参数详解(主函数模式和命令行模式是一样的):
-s:表示输出调试内容,包括print打印的内容
-v:表示运行的结果 passed或fail
-vs:表示显示调试内容又显示运行结果
-vs test_login.py:指定脚本的运行
-vs ./api_testcase:指定目录运行脚本
-n X: 支持多线程或者分布试运行测试用例
–reruns 2 :任何用例失败后会进行重跑2次
-x:表示只要一个用例报错,那么测试停止
–maxfail=2 :表示出现两个用例失败就停止
-k: 根据测试用例的部分字符串指定测试用例
1.2.2-1------------------------ -s:表示输出调试内容
1.2.2-2------------------------ -v:表示运行的结果
建立一个all.py文件可以把两个脚本一起运行
pytest.main([’-v’])
-v可以显示出运行结果
1.2.2-3------------------------ -vs:显示调试内容又显示运行结果
pytest.main([’-vs’])
-vs:可以显示出运行结果和调试内容
1.2.2-4------------------------ -vs test_login.py:指定脚本的运行
pytest.main([’-vs’,‘test_login.py’])
-vs,test_login.py:在vs的基础上指定脚本,可以运行指定脚本的运行
1.2.2-5------------------------ -vs ./api_testcase:指定目录运行
pytest.main([’-vs’,’./api_testcase’])
-vs ./api_testcase:指定目录运行脚本
1.2.2-6------------------------ -nodeid:拼接运行脚本
通过nodeid指定:相对路劲+文件名+脚本名::类::方法进行的一种拼接方式
./api_testcase/test_api_login.py::TestLogin::test_01_baili
1.2.2-7------------------------ -n X: 支持多线程或者分布试运行测试用例
-n X: 支持多线程或者分布试运行测试用例
例如:-vs ./api_testcase/test_login.py -n 2 两个线程一起运行
pytest.main([’-vs’,’./web_testcases’,’-n=2’])
1.2.2-8------------------------ --reruns X:用例重跑
(1)失败用例重跑
下图可以看出失败了1个用例,在assert 1==2 处
(2) --reruns 2 :任何用例失败后会进行重跑2次
pytest.main([’-vs’,’./web_testcases’,’–reruns=2’])
-vs ./web_testcase --reruns 2 :任何用例失败后会进行重跑2次
加入重跑机制后用例会运行3次,3次还失败就继续运行
1.2.2-9--------------------------- -k指定字符串用例执行
1.3-------------------------------- pytest执行测试用例的顺序
unittest: 通过ascll码的大小绝对值来确定执行的顺序
pytest:默认从上到下进行执行
(1)pytest的默认执行方式,从上往下顺序执行
(2)使用打标签方式(装饰器 )进行脚本的执行
@pytest.mark.run(order=X) X:代表执行顺序
打上标签后会执行百度,再执行百里
1.3.1----------------------------- -m 分组执行
(1)执行冒烟用例
步骤1:在全局配置pytest.ini中写入markers参数设置分类
步骤2:在对应要执行的用例打上标签(名称可以自己定义)
步骤3:在控制台输入命令pytest -vs ./web_testcases -m "smoke"执行选中的用例
(2)执行多个分类在控制台输入命令pytest -vs ./web_testcases -m "smoke or usermanage"执行选中的smoke标签和usermanage标签的用例
(3)多个组就加多个or就行,执行多个分类在控制台输入命令pytest -vs ./web_testcases -m "smoke or usermanage or production"执行选中的smoke标签和usermanage和production标签的用例
1.4-------------------------------- -skip跳过测试用例
(1) 步骤1:无条件跳过,在对应的用例加上对应跳过的标签即可
@pytest.mark.skip
步骤2:输入执行命令,在pytest.ini中配置后直接输入pytest会自动读取文件参数拼接进行执行执行全部用例,会自动跳过打了skip无条件跳过的用例在这里输入pytest,会把pytest.ini中的参数拼接,相当于
pytest= pyest -vs ./web_testcases
(2)有条件的跳过,打上skipif()标签
步骤1:现在类里面定义一个age=15,再在对应的用例上打上 @pytest.mark.skipif(age<18,reasnotallow=“有条件跳过”)标签
age = 20,满足age>=18,所以会跳过此条用例
1.5-------------------------------- 生成测试报告
(1)html报告
步骤1:在pytest.ini文件中的addopts写入对应参数
addopts = -vs --html ./report/reporet.html
生成的测试报告
打开测试报告
1.6-------------------------------pytest实现前后配置
1.7-----------------------------allure生成的测试报告
1.下载,解压,配置path环境路劲
(1)下载地址
https://github.com/allure-framework/allure2/releases
(2)配置path环境路劲
检查是否安装成功,没有成功需要重启计算机并用管理员身份打开。
Allurede 操作手册
http://www.cppcns.com/jiaoben/python/422210.html
1.8---------------------------pytest.mark.parametrize()基本用法
(1)单参数的传递
(2)多参数的传递,跟unittest ddt里面的@unpack解包是一样的
1.9-----------------------------YAML文件详解–实现接口自动化
1.用于全局的配置文件 ini、YAML
2.用于写接口测试用例
要是用这个文件需要先安装
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
展开评论
您可能感兴趣的博客