pytest测试框架+allure超详细教程
在给定的目录中,搜索所有test_.py或者_test.py文件
1、测试识别和运行
文件识别:
- 在给定的目录中,搜索所有test_.py或者_test.py文件
用例识别:
- Test*类包含的所有test_*的方法(测试类不能有__init__方法)
- 不在类中的所有test_*方法
- pytest也能执行unit test写的用例和方法
运行方式
1、pycharm页面修改默认的测试运行方式
settings页面,输入pytest,修改Default test runner
2、右键执行python文件
3、命令行界面执行,点击pycharm下方的terminal,打开命令行界面,执行pytest 命令
4、pycharm代码边界界面,左侧单条用例运行按钮
5、主函数运行方式
在运行文件中编写主函数,主函数启动需要导入pytest包,不然找不到pytest方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
pytest.main()会自动读取当前目录下的所有test开头的.py文件,运行test方法或者类
可以传入不同的参数,让运行更加定制化
1 2 3 4 5 6 7 8 |
|
2、参数化
@pytest.mark.parametrize(argnames,argvalues)
- argnames:要参数化的变量,可以是string(用逗号分割),list,tuple
- argvalues:参数化的值,list[tuple],以列表形式传入元组,每个元组都是一条测试数据
- ids,:默认为none,用来重新定义测试用例的名称
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
yaml参数化
pip install PyYAML
yaml实现list
1 2 3 |
|
yaml实现字典
1 2 3 |
|
yaml二维数组
1 2 3 4 5 6 7 8 9 10 11 12 |
|
读取yaml文件
yaml.safe_load(open(‘./data.yaml’))
3、测试报告美化-allure
1、操作系统内部先安装allure
2、安装allure-pytest插件
1 |
|
3、运行测试用例
查看pytest中allure相关的命令行参数
1 2 3 4 5 6 7 8 9 10 |
|
4、执行测试命令
1 2 |
|
5、查看测试报告
在线查看报告,直接打开默认浏览器展示当前报告
1 2 |
|
从结果生成报告
1.生成报告
1 2 |
|
2.打开报告
1 |
|
allure常用特性
支持在报告中查看测试功能、子功能或场景、测试步骤和测试附加信息等,可以通过@feature、@story、@step和@attach等装饰器实现
实现的步骤
- import allure
- 功能上加@allure.feature(“功能名称”)
- 子功能上加@allure.story(“子功能名称”)
- 用例标题@allure.title(“用例名称”)
- 用例描述@allure.description(“用例描述”)
- 步骤上加@allure.step(“步骤细节”)
- @allure.attach(“具体文本信息”),需要附加的信息,可以是数据、文本、图片、视频和网页
- 用例级别@allure.severity(级别)
- 如果只测试登录功能运行的时候,可以加限制过滤
1 2 3 |
|
- feature相当于一个功能,一个大模块,将case分类到某个feature中,报告中Behaviors(功能中展示),相当于testsuite
- story相当于这个功能或者模块下的不能场景,分支功能,属于feature之下的结构,报告中features中展示,详单与tescase
- feature与story类似于父子关系
- 2、allure特性-step
- 测试过程中每个步骤,一般放在具体逻辑方法中
- 可以放在关步骤中,在报告中显示
- 在app、web自动化测试中,建议每切换到一个新页面就做一个step
- 用法:
- @allure.step():只能以装饰器的形式放在类或者方法上面
- with allure.step():可以放在测试用例方法里面,但是测试步骤代码需要被该语句包含
3、allure特性-testcase
关联测试用例,可以直接给测试用例的地址链接,一般用于关联手工测试用例
实力代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
按重要性级别 进行一定范围测试
通常测试用PO、冒烟测试、验证上线测试。按照重要性级别来分别执行
缺陷严重级别
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
解决方法:
- 通过附加pytest.mark标记
- 通过allure.feature,allure.story
- 也可以通过allure.servity来附加标记
步骤:
在方法,函数和类上面加:@allure.severity(allure.severity_level.TRIVIAL)
执行时过滤:pytest -vs [文件名] --allure-severities normal, critical
前端自动化测试-截图
前端自动化测试经常需要附加图片或html,在适当的地方,适当时机截图
@allure.attach 实现不同类型附件,可以补充测试步骤或测试结果
使用方式:
- 在测试报告附加网页
1 2 |
|
在测试报告附加图片
1 2 |
|
示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】
更多推荐
所有评论(0)