我有两个监听器,都扩展了ITestListener。一个是关于失败/传递的截图,另一个是将失败/传递结果上传到服务。
上传的其中一项是截屏的位置。但是,有时上传监听器会在截屏之前上传,因此没有要上传的文件路径。
有没有办法可以设置听众的顺序?我知道我可以通过让一个侦听器执行这两个任务来解决这个问题,但我想避免这种情况。
答案 0 :(得分:1)
简短回答:不,因为不同的听众不应该相互依赖。
我们也在使用TestNG和Selenium。
只有一个ITestListener
,它将异常消息存储到ITestResult
的属性中(如果出现错误)。
我们所有的测试用例都扩展了一个基类,它定义了它自己的@AfterMethod
- 这里我们分析ITestResult
,然后报告结果。
在您的情况下,您可以将屏幕截图功能保留在侦听器中,但如果您在基类中移动报表功能,则可以保证在onTestFailure
之后调用它(或其他方法) ITestListener
)