【问题标题】:How can I attach a screenshot to a testcase for a failed test with XUnit如何将屏幕截图附加到测试用例以使用 XUnit 进行失败的测试
【发布时间】:2021-04-19 00:04:00
【问题描述】:

我们将使用 XUnit 来运行 Selenium 功能测试。在 Microsoft Azure Devops 中,我们有一个运行我们的功能测试的管道阶段。

如果测试失败,我想使用 Web Driver 截屏并将其附加到测试结果输出中。

我知道它可以用 NUnit(使用 TestContext)来完成,但是如何使用 XUnit 来实现呢?不确定这是否正确,但有没有办法使用 REST API 以某种方式实现这一点?

【问题讨论】:

    标签: selenium azure-devops azure-pipelines xunit functional-testing


    【解决方案1】:

    XUnit 仍然不支持 TestContext,查看这里:https://github.com/xunit/xunit/issues/2133

    截屏后,您可以考虑使用Attachments - Create Test Result Attachment API 将屏幕截图附加到测试结果中:

    POST https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/Results/{testCaseResultId}/attachments?api-version=6.0-preview.1
    

    【讨论】:

    • 会使用这个将结果附加到特定的测试吗?它会成为管道的一部分吗(为我自己的 ADO 项目实现一个 api 似乎很麻烦?)
    • 此 api 可以将文件附加到测试结果。您可以在管道中添加一个 powershell 任务来调用 api。
    • 当我深入研究测试结果时,它是否会在管道构建运行后附加到测试结果中的正确测试用例?
    • 我还应该指出-屏幕截图本身是在代码中完成的。 Selenium 驱动程序会截取该测试用例的焦点页面。
    • 创建附件时可以看到api需要传递“testCaseResultId”。
    猜你喜欢
    • 2019-09-24
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多