You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用allure.attach确保附件保留指定文件名而非随机命名

解决Allure attach截图时保留指定文件名的问题

当使用allure.attach()直接传入截图二进制数据时,Allure会自动生成随机文件名存储在allure/data/attachments目录下,无法直接指定该目录下的文件名。要保留自定义文件名以方便Jenkins邮件附件使用,可通过以下方法实现:

方法一:先保存截图到本地,再用allure.attach.file()添加

先将截图保存到本地指定路径和文件名,再通过Allure的文件附加方法将其添加到报告。这种方式既满足Allure报告的展示需求,又能在本地保留原文件名的截图,便于后续Jenkins邮件配置引用。

示例代码:

# 定义本地保存路径和文件名
screenshot_local_path = "./nameOfTheFile.png"
# 保存截图到本地
context.driver.save_screenshot(screenshot_local_path)
# 将本地文件附加到Allure报告
allure.attach.file(
    source=screenshot_local_path,
    name="nameOfTheFile.png",
    attachment_type=AttachmentType.PNG
)

执行后,本地会留存nameOfTheFile.png,你可直接在Jenkins的邮件任务中配置该文件路径作为附件发送。Allure报告数据目录内的附件仍会使用随机命名,但这不会影响你对本地文件的使用。

方法二:自定义Allure附件存储逻辑(进阶)

若不想额外保存本地文件,可通过自定义Allure的附件处理器来指定存储文件名,但该方式需要修改Allure的适配逻辑,步骤繁琐,仅适合有深度定制需求的场景,不推荐用于快速解决当前问题。

内容的提问来源于stack exchange,提问作者Crunchy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 03:15:58