一、allure2报告中添加附件-图片

# -*- coding: utf-8 -*-
# @Time    : 2023/7/10 17:49
# @Author  : yanfa
# @user   : yanfa 
# @File    : test_attach_for_pic.py
# @remark: 添加附件-图片
""""""
import allure

"""一、allure2报告中添加附件-图片
1、应用场景:
    在做ui自动化测试时,可以将页面截图,或者出错的页面进行截图,将截图添加到测试报告中,辅助定位问题
2、解决方案:
    python:使用allure.attach或者allure.attach.file()添加图片
    java:直接通过注解或者调用方法添加
    
支持附件:
TEXT = ("text/plain", "txt")
CSV = ("text/csv", "csv")
TSV = ("text/tab-separated-values", "tsv")
URI_LIST = ("text/uri-list", "uri")

HTML = ("text/html", "html")
XML = ("application/xml", "xml")
JSON = ("application/json", "json")
YAML = ("application/yaml", "yaml")
PCAP = ("application/vnd.tcpdump.pcap", "pcap")

PNG = ("image/png", "png")
JPG = ("image/jpg", "jpg")
SVG = ("image/svg-xml", "svg")
GIF = ("image/gif", "gif")
BMP = ("image/bmp", "bmp")
TIFF = ("image/tiff", "tiff")

MP4 = ("video/mp4", "mp4")
OGG = ("video/ogg", "ogg")
WEBM = ("video/webm", "webm")

PDF = ("application/pdf", "pdf")

3、用法:allure.attach.file(source,name,attachment_type,extension)
    参数解释:
        source-文件路径,相当于传一个文件
        name-附件名字
        attachment_type-附件类型,allure.attachment_type中的一种,用大写,支持PNG、JPG等
        extension-附件的扩展名
"""
# allure.attach.file()方法
def test_pic1():
    allure.attach.file("1.png","图片",attachment_type=allure.attachment_type.PNG,extension="png")
    print("这是附件图片")

# allure.attach()方法
def test_pic2():
    with open("./1.png",mode='rb') as f:
        file=f.read()
        allure.attach(file, "页面截图", attachment_type=allure.attachment_type.PNG)

"""
二、Allure2 报告中添加附件(图片)- Java
支持2种:
    注解方式添加:
    @Attachment(value = "图片名", type = "image/png", fileExtension = "后缀")

    调用方法添加:
    Allure.addAttachment("图片名", "image/png",图片路径, "后缀");

三、裂图的原因
1、图片上传过程种出现裂网络争端或者传输过程中出现裂错误
    解决方案:重新上传图片
2、allure报告的图片大小超过allure的限制
    解决方案:调整图片大小
3、图片本身存在问题:
    解决方案:检查图片格式和文件本身
"""