selenium - 如何在 Pytest JUNIT xml 中附加屏幕截图以显示在 Azure DevOps 上?
问题描述
如何使用 Pytest 在 JUNIT xml 中自动添加屏幕截图?我希望将执行测试期间截取的屏幕截图附加到报告中,但是这部分的Pytest文档不是很清楚。
此外,Azure DevOps 文档说它可以自动将所有生成的文件作为附件上传。这是否取代了手动附加文件的需要?它如何将文件 A 与测试 X 附加在一起?
提前致谢!
解决方案
我希望将执行测试期间截取的屏幕截图附加到报告中
您可以尝试调用Create Test Result Attachment rest api 将屏幕截图附加到测试附件选项卡。
powershell 任务中的示例脚本:
$file= [IO.File]::ReadAllBytes("filepath\$Name.png")
$Base64file= [Convert]::ToBase64String($file)
echo $Base64file
$token = "PAT"
$url="https://dev.azure.com/{org}/{proj}/_apis/test/Runs/$(runId)/results/$($TestResultID)/attachments?api-version=6.0-preview.1"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$JSON = "
{
`"stream`": `"$Base64file`",
`"fileName`": `"$Name.png`",
`"comment`": `"Test attachment upload`",
`"attachmentType`": `"GeneralAttachment`"
}"
$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $JSON -ContentType application/json
这张票给出了详细的指南,您可以参考它了解详细信息。
另外,您可以直接尝试使用Publish screenshots for test failure
扩展Publish test result screenshot中的任务。
此扩展提供了一个构建任务以集成到您的持续集成管道中。此任务会将屏幕截图上传到来自 Visual Studio 测试 (TRX) 以外的来源的测试结果报告,例如来自 jUnit。
推荐阅读
- python - Python写txt。将固定的页眉和页脚合并到txt中的可变数据
- swift - Adding an array of HKWorkouts to UserDefaults
- visual-studio-code - Visual Studio Code 上的 Flutter 在保存时不会重新加载
- css - 如何删除网站上两个元素之间的空格?
- node.js - Axios 获取请求返回 user:null 使用 redux 操作调用后端?
- mysql - 带有 JOIN 的 SQL,如果全局 WHERE 未满,则其中一个表的列为空
- python-3.x - 在 Python 中创建“无泄漏”变量?
- python - 获取一个国家的天气,放置 bs4
- c++ - Cout 不适用于我的其他 turbo c++ 编译器
- python - 在 Python 中创建学科和评分系统