目录
9、测试报告
9.1、安装pytest-html
9.2、在main方法中使用
9.3、在pytest.ini中使用
9.4、窗口执行
10、Allure测试报
10.1、环境准备
10.1.1、安装allure-pytest插件
10.1.2、安装Allure
10.1.3、执行测试用例
10.1.4、定值化报告
10.2、报告结构,浏览器打开html文件(有很多区域查看)
10.2.1、Overview:
10.2.2、Categories菜单
10.2.3、Suites菜单
10.2.4、graphs菜单
10.2.5、Timeline菜单
10.2.6、Behaviors\Packages这两个菜单和Suites类似;
9、测试报告
9.1、安装pytest-html
- 安装插件 pytest-html
- 打开终端:输入:pip3 install pytest-htm
9.2、在main方法中使用
- 示例报文:
import pytest
class Test_1():
@pytest.mark.L1
def test_02(self):
print('测试用例: 1')
assert '1' == '1'
class Test_2():
@pytest.mark.L2
def test_02(self):
print('测试用例: 1')
assert '1' == '2' # 断言失败
if __name__ == '__main__':
pytest.main(["-s", "./test_03.py", "--html=./report.html"])
执行结果,在当前目录生成一个report.html的测试报告文件;打开结果:
9.3、在pytest.ini中使用
1、在pytest.ini文件中添加参数
2、测试文件中main方法里的--html参数删掉,一样可以生成report.html测试报告
9.4、窗口执行
1、窗口输入pytest命令行执行效果一样;
10、Allure测试报
10.1、环境准备
10.1.1、安装allure-pytest插件
1、打开终端,输入命令行:pip3 install allure-pytest;(通过其他方法安装也行)
10.1.2、安装Allure
1、要先安装Java并配置好了环境变量(这里就不过多说明了,之前文档里有介绍);
2、使用Homebrew安装:输入命令行:brew install allure(这里就不过多说明了,之前文档里有介绍);
3、查看安装目录:输入命令行:which allure
4、添加环境变量:输入命令行:“cd ~ ”,“open -e .bash_profile”(打开编辑文件),往里添加环境变量(export PATH=安装目录:$PATH)
5、输入“allure”验证是否配置完成:
10.1.3、执行测试用例
1、使用如下命令:
pytest.main([“-m”,”login”,”-s”,”-q”,”--alluredir==./report”])
-m 标记用例;
login 被标记要执行的用例;
-s 准许终端在测试执行时输出某些结果;
-q 简化输出结果;
--alluredir 生成Allure指定语法;
./report 生成报告的目录;
--clear-alluredir 因为这个插件库allure-pytest生成了报告文件,第二次执行时不会清掉里面的东西,所以要删除report文件夹,然后重建;
10.1.4、定值化报告
1、标记
feature 标注主要功能模块
story 标注feature功能模块下的分支功能
severity 标注测试用例的重要级别
blocker级别 致命缺陷
critical级别 严重缺陷
normal级别 一般缺陷,默认这个缺陷
minor级别 次要缺陷
trivial级别 轻微缺陷
Step 标注测试用例的重要步骤
Attach 用于向测试报告中输入一些附件信息,通常是一些测试数据信息;
Name 是附件名称,body是数据,attachment_type是传类型;附件支持的类型有TEXT、HTML、XML、PNG、JPG、JSON、OTHER
Issure 这里传的是一个连接,记录的是你的问题
Testcase 这里传的是一个连接,记录的是你的用例
Descriptiop 描述用例信息
2、示例用例,创建一个目录demo4,然后在下面创建一个目录report,两个测试文件,test_01.py、test_02.py
3、est_01.py,代码示例:
import pytest, allure
@allure.feature("测试场景1") # 标记场景
class Test_01():
@allure.story("测试用例1-1") # 标记测试用例
@allure.severity("测试用例等级1") # 标记用例等级
def test_01(self):
a = 1+1
print("a")
assert a == 2
4、test_02.py,代码示例:
import pytest, allure
@allure.feature("测试场景2") # 标记场景
class Test_01():
@allure.story("测试用例2-1") # 标记测试用例
@allure.severity("测试用例等级2") # 标记用例等级
def test_02_1(self):
"""
用例描述:第一条用例描述
"""
#allure.MASTER_HELPER.description("222222222")
a = 2+2
print("a")
assert a == 5 # 断言失败
@allure.story("测试用例2-1")
@allure.severity("测试用例等级3")
@allure.step("用例2,重要步骤")
def test_02_2(self):
print("6")
assert 6==6
if __name__ == '__main__':
pytest.main(["-s", "-q", "--alluredir", "./report"])
5、使用main方法执行:(生成JSON格式的测试报告)
6、通过终端执行:进入demo4目录;
执行命令:allure generate --clean report
执行结果;
7、生成文件:
10.2、报告结构,浏览器打开html文件(有很多区域查看)
10.2.1、Overview:
区域1: 显示报告生成时间,执行时间,一共执行了多少用例,环状图显示用例通过比例;
区域2: 显示的测试集合(class)的情况;
区域3: 显示的是测试场景(@allure.feature);
区域4、显示失败用例的信息;
10.2.2、Categories菜单
1、 显示断言失败的信息
10.2.3、Suites菜单
1、 以测试集合树的形式查看用例执行结果:
10.2.4、graphs菜单
1、显示用例执行状态的环状图、用例级别的柱状图、用例执行时间的柱状图;
10.2.5、Timeline菜单
1、 显示执行时间
10.2.6、Behaviors\Packages这两个菜单和Suites类似;