如何使用dependsOnGroups解决TestNG中的Nullpointer异常

时间:2018-08-23 08:51:42

标签: java selenium-webdriver testng browser-automation

我计划在我的POM硒框架中实现testNG的dependsOnGroups和Groups概念。 所以我用简单的代码创建了一个POC,并在运行时发现了nullpointer异常。 请参阅屏幕截图以获取代码和错误。 enter image description here

public class TestNGDependsOnMethodsExample {

@BeforeMethod (alwaysRun = true)
public void before(){
    System.out.println("Before Method ");
}


@Test(priority=0 , groups={"a"})
public void firstTest() 
{

    Assert.assertEquals("1","1");
    System.out.println("firstTest");
}

@Test(priority=1 , groups={"b"})
public void secondTest() 
{
    Assert.assertEquals("Pass","Pass1111");
    System.out.println("secondTest");
}

@Test(priority=2 , dependsOnGroups={"a","b"} ) 
public void thirdTest() {
    System.out.println("thirdTest");
}

@Test(priority=3, groups={"c"},alwaysRun = true)
public void fourthTest() {
    System.out.println("fourthTest");
}

}

例外:

java.lang.NullPointerException     在org.testng.remote.strprotocol.TestResultMessage。(TestResultMessage.java:127)     在org.testng.remote.strprotocol.TestResultMessage。(TestResultMessage.java:148)     在org.testng.remote.strprotocol.RemoteTestListener1.onTestSkipped(RemoteTestListener1.java:78)     在org.testng.internal.Invoker.runTestListeners(Invoker.java:1788)     在org.testng.internal.Invoker.runTestListeners(Invoker.java:1780)     在org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1103)     在org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)     在org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)     在org.testng.TestRunner.runWorkers(TestRunner.java:1147)     在org.testng.TestRunner.privateRun(TestRunner.java:749)     在org.testng.TestRunner.run(TestRunner.java:600)     在org.testng.SuiteRunner.runTest(SuiteRunner.java:317)     在org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)     在org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)     在org.testng.SuiteRunner.run(SuiteRunner.java:223)     在org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)     在org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)     在org.testng.TestNG.runSuitesSequentially(TestNG.java:1039)     在org.testng.TestNG.runSuitesLocally(TestNG.java:964)     在org.testng.TestNG.run(TestNG.java:900)     在org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)     在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)     在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)

1 个答案:

答案 0 :(得分:0)

通过创建一个新项目,相同的代码可以正常工作而没有空指针异常。 TestNg 6.9和6.9.9有一些问题,即testng-failur.xml没有正确生成。 或testng-failur.xml包含通过测试方法。