使用pytest结合Allure进行测试报告生成的简单教程
allure测试报告
Allure基于Java开发,因此我们需要提前安装Java 8或以上版本的环境。
◆安装allure-pytest插件在DOS窗口输入命令“pip3 install allure-pytest”,然后按“Enter”键。
下载安装Allure:你可以从GitHub下载安装文件“allure2-2.13.3.zip”,解压后,将bin目录配置到环境变量中,然后在DOS窗口中输入“allure”,并按“Enter”键,如果显示“Usage”的话,说明设置成功。
使用如下命令执行:pytest.main(["-m","login","-s","-q","--alluredir=./report"])。
●“-m”:标记用例。
●“login”:被标记需要执行用例。
●“-s”:允许终端在测试执行时输出某些结果,例如你想输入print的内容,可以加上“-s”。
●“-q”:简化输出结果。
●“--alluredir”:生成Allure指定语法。
●“./report”:生成报告的目录。
●“--clean-alluredir”:因为这个插件库allure-pytest生成了报告文件,你第二次执行时不会清理掉里面的东西,所以你需要删除这个report文件夹,然后执行重新新建report文件夹命令。说明:命令执行后,程序会在report文件夹里面生成文件。
定制报告
●feature:标注主要功能模块。
●story:标注features功能模块下的分支功能。
●severity:标注测试用例的重要级别。
blocker级别:致命缺陷。critical级别:严重缺陷。normal级别:一般缺陷,默认为这个级别。minor级别:次要缺陷。trivial级别:轻微缺陷。
●step:标注测试用例的重要步骤。
●attach:用于向测试报告中输入一些附加的信息,通常是一些测试数据信息。
●name就是附件名称,body就是数据,attachment_type就是传类型。附件支持的类型有TEXT、HTML、XML、PNG、JPG、JSON、OTHER。
●issue:这里传的是一个连接,记录的是你的问题。
●testcase:这里传的是一个连接,记录的是你的用例。
●description:描述用例信息。
import pytest,allure
@allure.feature("测试场景1") #标记场景
class TestDemo():
@allure.story("测试用例1-1") # 标记测试用例
@allure.severity("trivial") # 标记用例级别
def test_1_1(self): # 用例1
a = 1 + 1
assert a == 2
@allure.story("测试用例1-2")
@allure.severity("critical")
@allure.step('用例2:重要步骤')
def test_1_2(self):
assert 2 == 2
通过main来执行测试用例,这时候程序会在report文件夹中生成一些JSON格式的文件
接下来回到DOS窗口,执行“allure generate --clean report”命令,可以看到新生成了一个allure-report文件夹,可以用浏览器打开index.html文件了
●区域一:显示报告生成的时间,执行的时间,一共执行了多少个测试用例,环状图显示用例通过的比例。
●区域二:显示的是测试集合(class)情况。
●区域三:显示的是测试场景(@allure.feature)。
●区域四:显示失败用例的信息。
安装必要的库
首先,确保已经安装了pytest和allure-pytest库。可以使用以下命令进行安装:
pip install pytest
pip install allure-pytest
用法说明
1. 在测试代码中,使用pytest框架编写测试用例。确保你已经导入pytest和allure相关的模块。
2. 在每个测试用例函数上方添加`@allure.feature('Feature')`和`@allure.story('Story')`装饰器,用于指定测试用例所属的特性和故事。
3. 在测试用例函数上方添加`@allure.severity(allure.severity_level.CRITICAL)`装饰器,用于指定测试用例的严重程度。
4. 在需要添加附件的地方,使用`allure.attach()`方法添加附件。例如,在测试用例失败时,你可以添加失败截图或日志文件作为附件。
5. 在命令行中执行`pytest --alluredir=./report`命令,将测试结果生成为Allure报告的XML格式。
6. 使用`allure serve ./report`命令启动Allure服务,并自动打开生成的测试报告。文章来源:https://www.toymoban.com/news/detail-643802.html
示例代码
import pytest
import allure
@allure.feature('登录模块')
@allure.story('用户登录')
@allure.severity(allure.severity_level.CRITICAL)
def test_user_login():
with allure.step('步骤1:输入用户名和密码'):
# 输入用户名和密码操作
pass
with allure.step('步骤2:点击登录按钮'):
# 点击登录按钮操作
pass
with allure.step('步骤3:验证登录成功'):
# 验证登录成功的断言
pass
with allure.step('步骤4:添加失败截图和日志文件作为附件'):
# 添加失败截图和日志文件作为附件
allure.attach.file('./screenshot.png', name='失败截图', attachment_type=allure.attachment_type.PNG)
allure.attach.file('./log.txt', name='日志文件', attachment_type=allure.attachment_type.TEXT)
assert True
if __name__ == '__main__':
pytest.main(['-s', '-v', '--alluredir=./report'])
执行以上代码后,会在当前目录下生成一个`report`文件夹,包含测试结果的XML文件。然后,执行`allure serve ./report`命令,启动Allure服务并自动打开生成的测试报告。文章来源地址https://www.toymoban.com/news/detail-643802.html
到了这里,关于allure测试报告的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!