pytest+request自动化测试框架搭建,pytest测试框架常用功能
目录
一.环境部署
二。用例设计的原则
第三,判断用例执行结果的方法
四。yaml配置文件
五、执行用例的常用方法
不及物动词测试报告的生成
首先是环境部署:必须先安装Python环境,然后是pycharm和pytest库。其他可以根据需要安装,以后可能会用到:
库/插件/工具
安装方法
使用
一个
安装python 3.x
2
安装pycharm
三
安装pytest库
pip安装pytest
Pytest库4
安装yaml
pip安装pyyaml
配置文件
五
安装pytest -html
pip安装pytest-html
生成html报告
六
安装allure
pip安装allure-pytest
描述测试用例
第二,用例设计有四个主要原则:
1.测试用例的文件名以test_*命名。py或* _ test.py
2.方法或函数以test_开始;
3.该类从Test_开始;
4.所有包都必须有__init__。py文件。
此外,如果您想在pycharm上直接执行测试用例,您必须添加:
if _ _ name _ _== _ _ main _ _ :pytest . main(-Quse case . py )
三。判断用例执行结果的方法pytest通过assert断言设置用例的预期执行结果,判断实际执行结果是否与之一致。使用方法如下:
1.为了测试大小是否相等,assert可以使用“==”和“!=""、" "、"="、=等符号来比较相等、不等、小于、大于、大于或等于以及小于或等于,例如:
断言1!=2 2.测试包含和排除。assert可以直接使用in和not in来比较包含和排除,例如:
断言b 3中的a,测试真或假。assert可以直接判断对象是否为真,不需要任何辅助符号,assert not用于判断是否为假,例如:
Assert 1断言失败一般可以看到如下输出,表示用例失败的执行结果不符合我的预期成功,即该用例执行失败:
当然,也可以指定断言失败的返回信息如下:
断言a% 2==0,“值是奇数,应该是偶数”。此外,pytest可以在断言比较中提供丰富的上下文信息。例如:
test _ set _ comparison():set 1=set( 111 )set 2=set( 222 )assertset 1==set 2 IV。yaml配置文件1,yaml(又一种标记语言):它是一种专门用于编写配置文件的语言。
2.yaml的基本语法规则:
区分大小写;
用缩进表示层次关系(注意:此处只允许空格表示缩进,空格数量不重要,不允许Tab
同一级别的元素的左侧需要对齐;
使用#表示注释;
3.yaml支持三种数据结构:
Object:一组键值对,也称为映射)/wndxbc(hashes)//dictionary;
Array:按顺序排列的一组值,也称为sequence)/list;
标量:单一的、不可分割的值。字符串、布尔值、整数、浮点数、Null、时间、日期;
4.阅读和转换方法
Open方法用于读取yaml文件的数据;
然后通过load方法转换成字典;
例如,我将一些关于Linux虚拟机的信息放在config.yaml文件中:
主机名: 10.2.12.87 # ipport: 22用户名: root 密码: 123456 然后在用例中,可以直接读取config.yaml文件并使用这些数据:
file=open(/TestData/config . YAML ,encoding= utf-8 )RES=YAML . load(file,Loader=yaml。Fullloader)主机名=res[主机名]端口=res[端口]用户名=res[用户名]密码=res[密码]
5.执行用例的常用方法1。执行某个文件夹下的所有用例:
Py文件夹名称/
2.执行单个用例
py测试用例. py
3.-k表达式按关键字匹配
pytest -k test_method或test_other
将运行名称包含“test_method”或“test_other”的所有方法或类
4.-m MARKEXPR标记表达式
所有用@ pytest.mark.slow decorator修饰的测试都将运行。
5.-v增加冗余用例执行输出;-q减少冗余用例执行输出
6.-x一旦遇到错误就停止执行。
7,- maxfail=num错误达到一定数量,停止执行。
8.-LF (-last-failed)只运行上次失败的用例。
9.-FF ( - ff( - failed-first)优先考虑上次运行失败的用例,然后运行其他用例。
10,-s打印用例中打印的内容。
不及物动词测试报告的生成pytest-html模块用于生成测试报告。如果你想要生成测试报告,你可以按照下面的方法执行用例:
Py用例。py-html=/path /report.html或者通过这样做,您可以将css样式合并到html中:
test-html=/path/report . html-self=contained-html报表的效果如下: