Allure入门介绍
想象一下,你是一名忙碌的软件工程师,刚刚完成了一个重要项目的代码编写和测试工作。现在,你需要向整个团队展示测试结果,包括开发人员、产品经理、质量保证人员等。你手头上有一份普通的测试报告,里面满是密密麻麻的文字和数字,当你在会议室试图解释这些结果时,你看到了大家迷茫的眼神(=.=)。这种情况是不是很糟糕?其实,我们都渴望有一种更好的方式来呈现测试结果,让所有人都能轻松理解。这就是 Allure 诞生的意义,它是一款能够将测试数据转化为生动、直观的可视化报告的工具,就像为我们打开了一扇通往清晰测试洞察的大门。
我专门查了一下,这个东西的读音是:
英式读音 [əˈlʊə(r)],美式读音 [əˈlʊr]。读音的重音在第二个音节,“lure” 部分读音和英文单词 “lure”(诱惑、吸引力)相同。
第一步:首先Allure基于Java生态,需要下载JDK并且正确配置环境变量。
第二步:下载地址:去下载压缩包。
注意存放目录不要带中文:(我下载的是最新版本24年10月底的那个)Central Repository: io/qameta/allure/allure-commandline
注意这里点击去版本之后要选zip:
第三步:解压zip并且配置环境变量:
打开到bin目录复制路径加入path环境变量:
验证一下:
看看是不是跟下载的版本号一致,之后就可以了。
第四步:打开pycharm,新建一个项目,然后创建两个dir和一个.py文件:
输入以下四个cases:(记得提前下载pytest: pip install pytest )
import pytest
def test_success():
"""this test succeeds"""
assert True
def test_failure():
"""this test fails"""
assert False
def test_skip():
"""this test is skipped"""
pytest.skip('for a reason!')
def test_broken():
raise Exception('oops')
注意一点 :这里的.py文件一定要以test_开头或者_test结尾!否则识别不出来这个测试的cases!我当时就是没有加_直接弄到最后显示0test case什么都没有......
以上四个cases分别对应四个状态分别是:success/failure/skip/broken这都很好理解,注意的就是failure和broken的区别:
- Failed(失败)
- 当一个测试用例被标记为 “Failed” 时,这意味着测试中的某个断言(assert)没有通过。断言是测试用例中用于验证代码行为是否符合预期的关键部分。例如,在代码中使用
assert a == b
这样的布尔类型的语句,如果a
和b
的值不相等,这个断言就会失败,导致整个测试用例被标记为 “Failed”。它表示测试的功能没有按照预期的逻辑正确执行,是一种对预期结果的否定验证。- Broken(损坏、出错)
- 当测试用例被标记为 “Broken”,通常是因为在测试用例的执行过程中出现了意外的错误,比如代码中的语法错误、未捕获的异常或者外部依赖(如数据库连接、网络服务等)出现问题。这和 “Failed” 的区别在于,“Failed” 是预期的功能验证没有通过,而 “Broken” 是由于一些非预期的错误导致测试无法正常完成对功能的验证。例如,在测试用例中调用一个函数,而这个函数内部有一个未处理的除零错误,就会导致测试用例出现 “Broken” 状态。
第五步:执行测试cases
一定是先执行cases,再在终端执行:pytest --alluredir=allure-results,这个命令的作用是用于收集测试结果,通过--alluredir
选项,将测试结果以特定的数据格式(通常是 JSON 等格式)保存到allure - results
文件夹中(这个文件夹就是刚开始要建的)。一定要先跑用例不然没有数据可以收集!
再执行allure generate allure-results,这个命令的作用是将allure - results
文件夹中的原始测试结果数据转换为可查看的测试报告格式。这个过程会自动创建一个allure-report的文件夹里面有一些更多的内容包含HTML、css样式以及一些JavaScript的代码,方便人阅读,也就解决了我们这个工具诞生的初心~
最后再执行allure open allure-report,就会自动打开一个web网页里面就是刚刚运行的四个cases的报告,简洁美观适合阅读:
下面这个是我的失败案例:
原因就是.py文件的命名不正确导致没有case被录入分析......
好了以上就是小玉今天的收获,那么关于web端的allure测试报告还有更多等着小玉去探索,那么接下来大家一起进步吧~~~