使用Selenium和SerenityBDD(thucydides)进行异常和错误处理的最佳实践

时间:2015-08-18 09:31:53

标签: java selenium exception-handling assert thucydides

实际上我正在写一堆测试,但我不确定如何最好地处理异常/错误。

有不同类型的例外,例如AssertException如果使用assertThat(..)的结果不符合预期。还行吧。并且可以理解。

但如果我有FileNotFound / SOAPException / DOMException等等,该怎么办?

例如,在我的@BeforeStory方法中,我通过读取测试文件并将它们发送到Web服务来创建一些testdata,在那里我可能会得到上面提到的异常。我想通过在生动文档中使用自己的错误消息来呈现这些错误。但我该如何管理呢?实际上我正在考虑两种方法:

1。)我捕获异常并使用单个错误消息抛出我自己的新异常。针对该场景中止了testexecution,并且在活文档中提供了异常。

2.。)我捕获异常,实现一个带有错误消息的基于字符串的return语句,并在我的低级规范中使用assertThat(...),所以我最终只能获得AssertException。< / p>

3。)..?

问题:如何处理硒/宁静异常或错误的建议或常见最佳做法?

1 个答案:

答案 0 :(得分:1)

首先,您的主题有一个很好的信息来源 - xUnit test patterns本书。

回答你的问题,好方法是使用两大类错误。第一个是AssertionException,表示测试中的应用程序存在问题(bug)。第二个是所有其他异常,表示测试代码本身,测试执行环境或应用程序环境中的问题,但不是在应用程序中。以这种方式构建测试将帮助您快速找到并消除问题。

所以一般来说,你选择第一个选项是正确的。当异常发生时,收集一些额外的数据(例如应用程序/执行环境)是一个好主意。