首页 > 解决方案 > 有没有办法在 Azure Devops 测试运行程序中一次附加多个屏幕截图?

问题描述

我正在 Azure Devops / TFS 上运行手动测试,并且我正在努力附加我想保存在我的计算机上的文件/屏幕截图。

有没有办法一次附加多个屏幕截图?当前附件窗口一次只允许 1 个文件/屏幕截图。

附件窗口

我将衷心感谢您的帮助

标签: tfsazure-devopsmanual-testing

解决方案


有没有办法一次附加多个屏幕截图?

恐怕没有开箱即用的方法可以满足您的要求。

它只支持在 Test Runner UI 中一次上传一个文件。

解决方法:

您可以尝试使用 Powershell 脚本运行 Rest API 来实现它。

这是示例:

$files = @("filepath1","filepath2")
For ($i=0; $i -lt $files.Length; $i++) 
{
echo $files[$i]

$filename = $files[$i]

$parts = $filename.split("\")

$name = echo $parts[4]

echo $name


$file= [IO.File]::ReadAllBytes("$filename")
$Base64file= [Convert]::ToBase64String($file)
echo $Base64file


$token = "PAT"

$url="https://dev.azure.com/{OrganizationName}/{ProjectName}/_apis/test/Runs/{RunId}/Results/{TestResultID}/Attachments?iterationId=1&api-version=5.0-preview.1"

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

$JSON = "
    {
       `"stream`": `"$Base64file`",
       `"fileName`": `"$name`",
       `"comment`": `"Test attachment upload`",
       `"attachmentType`": `"GeneralAttachment`"
    }"


$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -Body $JSON -ContentType application/json

}

powershell脚本会遍历文件路径,上传到测试结果附件。


推荐阅读