关于软件测试:如何利用Allure报告提升你的测试效率

107次阅读

共计 2760 个字符,预计需要花费 7 分钟才能阅读完成。

Allure 简介与装置

  • Allure 是由 Java 语⾔开发的⼀个轻量级,灵便的测试报告⼯具。
  • Allure 多平台的 Report 框架。
  • Allure ⽀持多语⾔,包含 python、JaveScript、PHP、Ruby 等。
  • 能够为开发 / 测试 / 治理等人员提供详尽的的测试报告,包含测试类别、测试步骤、日志、图片、视频等。
  • 能够为管理层提供高水准的统计报告。
  • 能够集成到 Jenkins 生成在线的趋势汇总报告。

装置步骤:- 装置 Java,环境变量配置教程。- 装置 Allure 环境变量配置教程 – 装置插件:pip install allure-pytest。

环境验证:allure -- version

Allure 用法

办法名 办法参数 参数阐明
@allure.epic() epic 形容 麻利外面的概念,定义史诗,往下是 feature
@allure.feature() 模块名称 性能点的形容,往下是 story
@allure.story() 用户故事 用户故事,往下是 title
@allure.title(用例的题目) 用例的题目 重命名 html 报告名称
@allure.step() 操作步骤 测试用例的步骤
@allure.testcase() 测试用例的链接地址 对应性能测试用例零碎外面的 case
@allure.issue() 缺点 对应缺点管理系统外面的链接
@allure.description() 用例形容 测试用例的形容
@allure.severity() 用例等级 blocker,critical,normal,minor,trivial
@allure.link() 链接 定义一个链接,在测试报告展示
@allure.attachment() 附件 报告增加附件
#### Allure 报告生成

Allure 命令行语法格局如下:

allure[option] [command] [commandoptions]

生成报告的两种形式

形式一:在线报告,会间接关上默认浏览器展现以后报告。

# 形式一:测试实现后查看理论报告,在线查看报告,会间接关上默认浏览器展现以后报告。allureserve./result/(留神这里的 serve 书写)# Javaallureservetarget/allure-results(留神这里的 serve 书写)

形式二:利用场景:如果心愿随时关上报告,能够生成一个动态资源文件报告,将这个报告布署到 web 服务器上,启动 web 服务,即可随时随地关上报告。- 解决方案:应用 allure generate 生成带有 index.html 的后果报告。这种形式须要两个步骤:- 第一步:生成报告。- 第二步:关上报告。

# 生成报告  allure generate ./result (allure 后果)  
# 关上报告  allure open ./report/ (报告地位)  

Allure 增加用例题目、步骤

用例题目
  • 通过应用装璜器 @allure.title 能够为测试用例自定义一个可浏览性的题目。
  • allure.title 的三种应用形式:
    1. 间接应用 @allure.title 为测试用例自定义题目。
    2. @allure.title 反对通过占位符的形式传递参数,能够实现测试用例题目参数化,动静生成测试用例题目。
    3. allure.dynamic.title 动静更新测试用例题目。
# 形式一:
@allure.title("自定义题目")
def test_title():    
assert True# 
形式二:通过占位符的形式传递参数,能够实现测试用例题目参数化,动静生成测试用例题目。@allure.title("参数化用例题目:参数一:{param1},参数二:{param2}")
@pytest.mark.parametrize("param1, param2, expected", 
    [(1, 1, 2),    (0.1, 0.3, 0.4)])
def test_with_parametrize_title(param1, param2, expected):    
    assert param1 + param2 == expected
# 形式三:动静更新测试用例题目。@allure.title("原始题目")
def test_with_dynamic_title():    
    assert True    
    allure.dynamic.title("更改后的新题目")
用例步骤

Allure 反对两种办法:- 办法一:应用装璜器定义一个测试步骤,在测试用例中应用。- 办法二:应用 with allure.step() 增加测试步骤。

Allure 增加图片

  • 利用场景:在做 UI 自动化测试时,能够将页面截图,或者出错的页面进行截图,将截图增加到测试报告中展现,辅助定位问题。
  • 解决方案:应用以下两种形式增加图片。

allure.attach.file 办法 – 语法:allure.attach.file(source, name, attachment_type, extension),参数解释:- source:文件门路,相当于传一个文件。- name:附件名字。- attachment_type:附件类型,是 allure.attachment_type 其中的一种 (反对 PNG、JPG、BMP、GIF 等)。- extension:附件的扩展名。

class TestWithAttach:    
    def test_pic(self):        
        allure.attach.file("pic.png",                           
        name="图片",                           
        attachment_type=allure.attachment_type.PNG,                           extension="png")

allure.attach 办法

  • 语法:allure.attach(body, name=None, attachment_type=None, extension=None):,参数解释:
    • body:要写入附件的内容
    • name:附件名字。
    • attachment_type:附件类型,是 allure.attachment_type 其中的一种 (反对 PNG、JPG、BMP、GIF 等)。
    • extension:附件的扩展名。
class TestWithAttach:    
    def test_pic2(self):        
        with open("./img/logo.png",mode="rb") as f :            
            file = f.read()            
            allure.attach(file,"页面截图",allure.attachment_type.PNG)

Allure 增加日志

  • 日志展现在 Test body 标签下,标签下可展现多个子标签代表不同的日志输入渠道:
    • log 子标签:展现日志信息。
    • stdout 子标签:展现 print 信息。
    • stderr 子标签:展现终端输入的信息。
  • 禁用日志,能够应用命令行参数管制 --allure-no-capture

总结

  • 增加商品测试用例设计、用例编写和断言
  • Allure 测试报告定制

正文完
 0