我如何将屏幕截图附加到测试用例以使用 XUnit 进行失败的测试

How can I attach a screenshot to a testcase for a failed test with XUnit

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

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

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

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

看起来 xUnit 将在 3.0 版本中支持它。目前我工作的团队使用Cece列出的API推送截图per-test.

https://github.com/xunit/xunit/issues/621