MSpec/Selenium 测试失败时如何保存屏幕截图?
How do I save a screenshot when an MSpec/Selenium test fails?
我正在使用 MSpec 来驱动一些使用 Selenium WebDriver 的自动化 UI 测试。很像我在网上找到的the examples。我无法在测试失败时获取屏幕截图。
我在另一个问题上看到了评论,因为他们在示例网络规范中有一个 ResultSupplementer
。但是,ResultSupplementer
似乎在最新版本的Mspec(0.9.1)中不存在。
在最新版本的 mspec 中是否有不同的方法来执行此操作?最终,我将生成 HTML 报告作为 TeamCity 工件,并在任何失败的规范中包含屏幕截图。
我已经为最新版本的 MSpec 更新了示例(简而言之,您需要自己实现 ISupplementSpecificationResults
)。
我还合并了解决方案并将 MVC 项目转换为 Nancy。您会发现在过去几年中出现了更多与基础架构相关的代码,这些代码围绕各种事物展开,例如
- IIS Express 记录的状态代码 4xx 和 5xx
- IIS 和 Chrome 其他进程绑定的驱动程序端口
- 页面对象使用高级 API
访问 Web 驱动程序
- 我使用 Paket 进行依赖管理,因为它比普通的 NuGet
强大得多
综上所述,您需要 运行 msbuild.exe mspec-samples.sln
然后 All-Specs.cmd
。我还检查了 TeamCity 构建是否创建了屏幕截图。
我正在使用 MSpec 来驱动一些使用 Selenium WebDriver 的自动化 UI 测试。很像我在网上找到的the examples。我无法在测试失败时获取屏幕截图。
我在另一个问题上看到了评论,因为他们在示例网络规范中有一个 ResultSupplementer
。但是,ResultSupplementer
似乎在最新版本的Mspec(0.9.1)中不存在。
在最新版本的 mspec 中是否有不同的方法来执行此操作?最终,我将生成 HTML 报告作为 TeamCity 工件,并在任何失败的规范中包含屏幕截图。
我已经为最新版本的 MSpec 更新了示例(简而言之,您需要自己实现 ISupplementSpecificationResults
)。
我还合并了解决方案并将 MVC 项目转换为 Nancy。您会发现在过去几年中出现了更多与基础架构相关的代码,这些代码围绕各种事物展开,例如
- IIS Express 记录的状态代码 4xx 和 5xx
- IIS 和 Chrome 其他进程绑定的驱动程序端口
- 页面对象使用高级 API 访问 Web 驱动程序
- 我使用 Paket 进行依赖管理,因为它比普通的 NuGet 强大得多
综上所述,您需要 运行 msbuild.exe mspec-samples.sln
然后 All-Specs.cmd
。我还检查了 TeamCity 构建是否创建了屏幕截图。