Есть ли простой способ связать снимки экрана с результатами тестирования в стиле XUNIT, созданными Robot Framework, и загрузить их на вкладку «Тест» с помощью задачи «Опубликовать результаты теста» в Azure Pipelines?
Аналогично тому, как он работает с файлами результатов VSTS.
Заранее спасибо.
1 ответ
Боюсь, что нет простого способа достичь вышеизложенного.
В качестве обходного пути можно использовать Создать приложение с результатами теста rest api, чтобы обновить снимок экрана как приложение к тесту.
POST https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/Results/{testCaseResultId}/attachments?api-version=5.1-preview.1
Для использования выше создайте вложение rest api с результатами теста. Вам нужно вызвать тест запроса запускает rest api, чтобы получить runId
GET https://dev.azure.com/{organization}/{project}/_apis/test/runs?buildIds={buildIds}&buildDefIds={buildDefIds}&api-version=5.1
Затем вам нужно будет вызвать список api результатов тестирования, чтобы получить testCaseresultId
GET https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/results?api-version=5.1
Таким образом, вы можете добавить задачу сценария в свой конвейер для запуска над rest apis. См. Пример ниже:
- powershell: |
$url = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/test/runs?buildIds=1417&buildDefIds=8&api-version=5.1"
$runs = Invoke-RestMethod -Uri $url -Headers @{authorization = "Bearer $(system.accesstoken)"} -ContentType "application/json" -Method get
$runId = $runs.value[-1].id
#get testCaseresultId
$resuilturl = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/test/Runs/$($runId)/results?api-version=5.1"
$results = Invoke-RestMethod -Uri $resuilturl -Headers @{authorization = "Bearer $(system.accesstoken)"} -ContentType "application/json" -Method get
#for example get first testCaseresultId
$testCaseResultId = $results.value[0].id
#create test result attachment.
$atturl = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/test/Runs/$($runId)/Results/$($testCaseResultId)/attachments?api-version=5.1-preview.1"
$body='{
"stream": "VXNlciB0ZXh0IGNvbnRlbnQgdG8gdXBsb2FkLg==",
"fileName": "$(System.DefaultWorkingDirectory)/screenshot-1.png",
"comment": "Test attachment upload",
"attachmentType": "GeneralAttachment"
}'
Invoke-RestMethod -Uri $atturl -Headers @{authorization = "Bearer $(system.accesstoken)"} -ContentType "application/json" -Method post -Body $body
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.