java用例说明 报告_TestNG:在范围报告中测试用例失败时获取java.lang.ClassCastException...

在范围报告中测试用例失败时获取java.lang.ClassCastException . 我有一个TestListener类,它在一个包中实现onpass,onfailure,onskipp方法声明,并在一个包中包含Test类,并且在第三个包的基类下声明了Webdriver,这样做是为了更好的可读性 .

现在每当测试用例失败时,控件就会进入失败状态,我们已经实现了截屏能力,这就是我的代码失败的地方 .

失效方法 -

public void onTestFailure(ITestResult iTestResult) {

System.out.println("I am in onTestFailure method " + getTestMethodName(iTestResult) + " failed");

//Get driver from BaseTest and assign to local webdriver variable.

Object testClass = iTestResult.getInstance();

WebDriver webDriver = ((BaseClass) testClass).getDriver();

//Take base64Screenshot screenshot.

String base64Screenshot = "data:image/png;base64,"+((TakesScreenshot)webDriver).

getScreenshotAs(OutputType.BASE64);

//Extentreports log and screenshot operations for failed tests.

ExtentTestManager.getTest().log(LogStatus.FAIL,"Test case failed",

ExtentTestManager.getTest().addBase64ScreenShot(base64Screenshot));

//ExtentTestManager.getTest().log(LogStatus.FAIL, "Test case failed as:"+iTestResult.getThrowable());

}

基类:

public WebDriver getDriver()

{

if (driver == null)

{

System.setProperty("webdriver path here");

driver= new ChromeDriver();

return driver;

}

else

{

return driver;

}

}

错误记录 -

java.lang.ClassCastException: VWAutomationTest.TestVWLoginPage cannot be cast to Utility.BaseClass

at Listeners.TestListener.onTestFailure(TestListener.java:77)

at org.testng.internal.TestListenerHelper.runTestListeners(TestListenerHelper.java:67)

at org.testng.internal.Invoker.runTestListeners(Invoker.java:1388)

at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1041)

at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)

at org.testng.TestRunner.privateRun(TestRunner.java:648)

at org.testng.TestRunner.run(TestRunner.java:505)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)

at org.testng.SuiteRunner.run(SuiteRunner.java:364)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)

at org.testng.TestNG.runSuites(TestNG.java:1049)

at org.testng.TestNG.run(TestNG.java:1017)

at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)

at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)

at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值