当MSpec断言失败时,如何获取Selenium屏幕截图?

时间:2014-06-25 07:40:54

标签: c#-4.0 selenium mspec

我正在使用MSpec测试框架/运行器和Selenium Web Driver。我想在测试失败时截取屏幕截图并保存,以便我以后可以看到错误。我想有两种可能性:

  • MSpec是否有断言失败的事件?像清理界面?
  • Selenium是否有某种可以自动截取屏幕截图的失败事件?

任何人都可以告诉我你是否做过类似的事情,怎么做?


这里已经回答了类似的问题,但我的情况有所不同。 我不想修改我的测试,并在每次测试中尝试捕获。

1 个答案:

答案 0 :(得分:0)

虽然Selenium乐意支持截屏(请参阅this answer关于在C#中截取屏幕截图),但它不了解您正在使用它的测试运行器。实际上,作为一个多用途浏览器驱动程序,除了测试之外,它还可以用于许多其他任务。

如果未能触发此代码,您需要为MSpec runner添加某种钩子。我已经做了类似的事情,它与JUnit在Java中很有用(@Rule用于失败),我担心我不熟悉MSpec来建议在这里使用什么。我建议您将截图发布为构建测试工件,以便在CI环境中轻松访问。