zoukankan      html  css  js  c++  java
  • Pytest学习(二十)- allure之@allure.step()、allure.attach的详细使用

    一、@allure.step的用法

    • 可以理解为我们编写测试用例中的每一步操作步骤,而在allure中表示对每个测试用例进行非常详细的步骤说明
    • 通过 @allure.step(),可以让测试用例在allure报告中显示更详细的测试过程

    示例代码:

    # -*- coding: utf-8 -*-
    # @Time    : 2020/12/12 8:34
    # @Author  : longrong.lang
    # @FileName: test_allure.py
    # @Software: PyCharm
    # @Cnblogs :https://www.cnblogs.com/longronglang
    import allure
    
    
    @allure.step("打开网站首页")
    def open():
        pass
    
    
    @allure.step("输入账号、密码")
    def input_UsernameAndPassWord():
        sendAndClickLogin("xiaoqiang", "1")
    
    
    @allure.step("输入账号、密码{arg1},{arg2},并点击登录")
    def sendAndClickLogin(arg1, arg2):
        pass
    
    
    @allure.step("验证登录过程")
    def test_login():
        open()
        input_UsernameAndPassWord()
    
    

    测试用例在allure的显示

    小结

    • step(参数),参数就是标题,你传什么,在allure上的步骤名就显示什么
    • 支持位置参数和关键字参数 {arg1},{arg2},可参考报告中“ 输入账号、密码'xiaoqiang','1',并点击登录”处,如果函数的参数没有匹配成功就会报错

    二、allure.attach的用法

    作用: allure报告还支持显示许多不同类型的附件,可以补充测试结果;可根据自身情况进行调整
    语法: allure.attach(body, name, attachment_type, extension)

    参数列表

    body:要显示的内容(附件)
    name:附件名字
    attachment_type:附件类型,是 allure.attachment_type 里面的其中一种
    extension:附件的扩展名(比较少用)

    allure.attachment_type提供了哪些附件类型?

    语法二: allure.attach.file(source, name, attachment_type, extension)
    source:文件路径,相当于传一个文件
    示例代码如下:

    # -*- coding: utf-8 -*-
    # @Time    : 2020/12/12 8:34
    # @Author  : longrong.lang
    # @FileName: test_allure.py
    # @Software: PyCharm
    # @Cnblogs :https://www.cnblogs.com/longronglang
    import allure
    
    
    @allure.step("打开网站首页")
    def open():
        pass
    
    
    @allure.step("输入账号、密码")
    def input_UsernameAndPassWord():
        sendAndClickLogin("xiaoqiang", "1")
    
    
    @allure.step("输入账号、密码{arg1},{arg2},并点击登录")
    def sendAndClickLogin(arg1, arg2):
        pass
    
    
    @allure.step("验证登录过程")
    def test_login():
        open()
        input_UsernameAndPassWord()
    
    
    # 添加附件
    def test_attachments():
        # 在测试报告中画了一个html页面
        allure.attach('<head></head><body><strong>HTML页面,HelloWorld!</strong> </body>', 'Attach with HTML type',
                      allure.attachment_type.HTML)
        # 添加一个html附件
        allure.attach.file('./report.html', attachment_type=allure.attachment_type.HTML)
        # 添加一个图片附件
        allure.attach.file('./demo.jpg', attachment_type=allure.attachment_type.JPG)
    
    

    在allure报告中展示如下:

    优秀不够,你是否无可替代

    软件测试交流QQ群:721256703,期待你的加入!!

    欢迎关注我的微信公众号:软件测试君


  • 相关阅读:
    初识python: random 模块
    初识python: 模块定义及调用
    JSON的stringify和parse方法
    微信小程序:日期组件picker的使用
    微信小程序:给data中对象中的属性设置值与给data中的属性或对象或数组设置值的区别
    微信小程序:点击预览大图功能
    微信小程序:解决小程序中有些格式如webpiPhone手机暂不支持的问题
    微信小程序:优化页面要渲染的属性
    微信小程序:标签字符串直接变成标签来显示要通过富文本技术
    微信小程序:添加全局的正在加载中图标效果
  • 原文地址:https://www.cnblogs.com/longronglang/p/14123951.html
Copyright © 2011-2022 走看看