如何在onTestFailure中获取当前的远程webdriver实例(ITestResult)

时间:2014-04-23 11:07:34

标签: screenshot testng remotewebdriver

我想整合代码,使用remoteWebdriver里面的截图,即testng' onTestFailure(ITestResult)。我无法在onTestFailure()内获取当前的webdriver实例。

1 个答案:

答案 0 :(得分:0)

好的,我遇到了类似的问题。 由于这里没有明确的答案,我会发布我的(工作)解决方案

在您的 BaseTest / TestBase 类上,使您的 RemoteWebdriver 实例可访问(通过将其作为公共属性或使用 getter)

在 Listener 类中(在我的例子中它是一个公共属性):

public class BaseTest {
    public RemoteWebDriver remoteDriver;
    //... initalize driver
}

public class TestListener implements ITestListener {
@Override
    public void onTestFailure(ITestResult result) {
        BaseTest test = (BaseTest) result.getInstance();
        if (test == null) {
            return;
        }
        RemoteWebDriver driver = test.remoteDriver;
    }
}