Pytest-入门学习

奋斗吧
奋斗吧
擅长邻域:未填写

标签: Pytest-入门学习 JavaScript博客 51CTO博客

2023-05-08 18:24:13 92浏览

Pytest-入门学习,一次性安装所有插件的方法(1)创建一个requirements.txt文件(2)将所有插件名称放进去(3)在命令行输入pipinstall-rrequirements.txt(1)主函数模式运行试运行结果


1.1-----------------------------初次认识pytest框架

Pytest-入门学习_测试报告


Pytest-入门学习_python_02


Pytest-入门学习_测试报告_03


一次性安装所有插件的方法

(1)创建一个requirements.txt文件

(2)将所有插件名称放进去

(3)在命令行输入pip install -r requirements.txt

Pytest-入门学习_测试用例_04


Pytest-入门学习_python_05


Pytest-入门学习_python_06

1.2-----------------------------pytest的运行模式

Pytest-入门学习_测试用例_07


(1)主函数模式运行

Pytest-入门学习_用例_08


试运行结果

Pytest-入门学习_测试报告_09


(2)命令行模式运行

Pytest-入门学习_测试报告_10


(3)通过读取pytest.ini配置文件

1.2.1---------------------------运行模式的几种形式

Pytest-入门学习_测试报告_11


**

自动化脚本常用模式通过读取pytest.ini配置文件

**

Pytest-入门学习_python_12


Pytest-入门学习_python_13


***这里注意下根目录是用一个点./web_testcases***后面发现前面写错了,这里进行备注

Pytest-入门学习_测试报告_14

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:表示输出调试内容

Pytest-入门学习_python_15


Pytest-入门学习_测试用例_16

1.2.2-2------------------------ -v:表示运行的结果

建立一个all.py文件可以把两个脚本一起运行

pytest.main([’-v’])

-v可以显示出运行结果

Pytest-入门学习_用例_17

1.2.2-3------------------------ -vs:显示调试内容又显示运行结果

pytest.main([’-vs’])

-vs:可以显示出运行结果和调试内容

Pytest-入门学习_python_18

1.2.2-4------------------------ -vs test_login.py:指定脚本的运行

pytest.main([’-vs’,‘test_login.py’])

-vs,test_login.py:在vs的基础上指定脚本,可以运行指定脚本的运行

Pytest-入门学习_测试报告_19

1.2.2-5------------------------ -vs ./api_testcase:指定目录运行

pytest.main([’-vs’,’./api_testcase’])

-vs ./api_testcase:指定目录运行脚本

Pytest-入门学习_python_20

1.2.2-6------------------------ -nodeid:拼接运行脚本

通过nodeid指定:相对路劲+文件名+脚本名::类::方法进行的一种拼接方式

./api_testcase/test_api_login.py::TestLogin::test_01_baili

Pytest-入门学习_测试报告_21

1.2.2-7------------------------ -n X: 支持多线程或者分布试运行测试用例

-n X: 支持多线程或者分布试运行测试用例

例如:-vs ./api_testcase/test_login.py -n 2 两个线程一起运行

pytest.main([’-vs’,’./web_testcases’,’-n=2’])

Pytest-入门学习_测试用例_22

1.2.2-8------------------------ --reruns X:用例重跑

(1)失败用例重跑

下图可以看出失败了1个用例,在assert 1==2 处

Pytest-入门学习_python_23


(2) --reruns 2 :任何用例失败后会进行重跑2次

pytest.main([’-vs’,’./web_testcases’,’–reruns=2’])

-vs ./web_testcase --reruns 2 :任何用例失败后会进行重跑2次

加入重跑机制后用例会运行3次,3次还失败就继续运行

Pytest-入门学习_用例_24

1.2.2-9--------------------------- -k指定字符串用例执行

Pytest-入门学习_测试报告_25

1.3-------------------------------- pytest执行测试用例的顺序

unittest: 通过ascll码的大小绝对值来确定执行的顺序
pytest:默认从上到下进行执行

(1)pytest的默认执行方式,从上往下顺序执行

Pytest-入门学习_测试报告_26


Pytest-入门学习_测试用例_27


(2)使用打标签方式(装饰器 )进行脚本的执行

@pytest.mark.run(order=X) X:代表执行顺序

打上标签后会执行百度,再执行百里

Pytest-入门学习_测试用例_28

1.3.1----------------------------- -m 分组执行

Pytest-入门学习_python_29


(1)执行冒烟用例

步骤1:在全局配置pytest.ini中写入markers参数设置分类

Pytest-入门学习_测试用例_30


步骤2:在对应要执行的用例打上标签(名称可以自己定义)

Pytest-入门学习_测试报告_31


步骤3:在控制台输入命令pytest -vs ./web_testcases -m "smoke"执行选中的用例

Pytest-入门学习_python_32

Pytest-入门学习_测试用例_33


(2)执行多个分类在控制台输入命令pytest -vs ./web_testcases -m "smoke or usermanage"执行选中的smoke标签和usermanage标签的用例

Pytest-入门学习_用例_34

Pytest-入门学习_用例_35


(3)多个组就加多个or就行,执行多个分类在控制台输入命令pytest -vs ./web_testcases -m "smoke or usermanage or production"执行选中的smoke标签和usermanage和production标签的用例

1.4-------------------------------- -skip跳过测试用例

Pytest-入门学习_测试报告_36


(1) 步骤1:无条件跳过,在对应的用例加上对应跳过的标签即可

@pytest.mark.skip

Pytest-入门学习_用例_37


步骤2:输入执行命令,在pytest.ini中配置后直接输入pytest会自动读取文件参数拼接进行执行执行全部用例,会自动跳过打了skip无条件跳过的用例在这里输入pytest,会把pytest.ini中的参数拼接,相当于

pytest= pyest -vs ./web_testcases

Pytest-入门学习_用例_38

Pytest-入门学习_python_39

Pytest-入门学习_用例_40


(2)有条件的跳过,打上skipif()标签

步骤1:现在类里面定义一个age=15,再在对应的用例上打上 @pytest.mark.skipif(age<18,reasnotallow=“有条件跳过”)标签

Pytest-入门学习_用例_41


age = 20,满足age>=18,所以会跳过此条用例

Pytest-入门学习_用例_42

1.5-------------------------------- 生成测试报告

(1)html报告

步骤1:在pytest.ini文件中的addopts写入对应参数

addopts = -vs --html ./report/reporet.html

Pytest-入门学习_测试报告_43


生成的测试报告

Pytest-入门学习_测试用例_44


打开测试报告

Pytest-入门学习_用例_45

1.6-------------------------------pytest实现前后配置

Pytest-入门学习_测试报告_46


Pytest-入门学习_测试用例_47

1.7-----------------------------allure生成的测试报告

1.下载,解压,配置path环境路劲

(1)下载地址

https://github.com/allure-framework/allure2/releases

Pytest-入门学习_用例_48


Pytest-入门学习_用例_49

(2)配置path环境路劲

Pytest-入门学习_测试报告_50


检查是否安装成功,没有成功需要重启计算机并用管理员身份打开。

Pytest-入门学习_测试用例_51

Pytest-入门学习_测试用例_52


Allurede 操作手册

http://www.cppcns.com/jiaoben/python/422210.html

1.8---------------------------pytest.mark.parametrize()基本用法

Pytest-入门学习_python_53

(1)单参数的传递

Pytest-入门学习_python_54


(2)多参数的传递,跟unittest ddt里面的@unpack解包是一样的

Pytest-入门学习_用例_55

1.9-----------------------------YAML文件详解–实现接口自动化

1.用于全局的配置文件 ini、YAML

2.用于写接口测试用例

Pytest-入门学习_测试报告_56


Pytest-入门学习_python_57


要是用这个文件需要先安装

Pytest-入门学习_测试报告_58


好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

客服QQ 1913284695