获取" java.lang.NullPointerException"在执行selenium脚本时

时间:2018-04-26 07:28:22

标签: selenium testng

请允许任何人帮助解决以下异常的根本原因。

例外:

  

java.lang.NullPointerException at   Test_Automation.TC_Invoice_Printing.TC_input_fields_validation(TC_Invoice_Printing.java:37)     在   java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(母语   方法)at   java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(未知   来源)at   java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(未知   来自java.base / java.lang.reflect.Method.invoke(未知来源)     在   org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)     在org.testng.internal.Invoker.invokeMethod(Invoker.java:580)at   org.testng.internal.Invoker.invokeTestMethod(Invoker.java:716)at   org.testng.internal.Invoker.invokeTestMethods(Invoker.java:988)at   org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)     在   org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)     在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 at   org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)at 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 at   org.testng.TestNG.runSuitesLocally(TestNG.java:1137)at 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)     在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)     在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

脚本:

@Test
public void TC_input_fields_validation() {

        int default_input_fields_count = Invoke_Test_Instance.driver.findElements(By.xpath("//input[contains(@class,'input-lg form-control')]")).size();
        System.out.println("default field count" + default_input_fields_count);
        System.out.println(Invoke_Test_Instance.driver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div[2]/div/form/div/div/div[2]/div/div/a")).isDisplayed());
        Invoke_Test_Instance.driver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div[2]/div/form/div/div/div[2]/div/div/a")).click();
        Invoke_Test_Instance.driver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div[2]/div/form/div/div/div[2]/div/div/a")).click();
        Invoke_Test_Instance.driver.findElement(By.xpath("/html/body/div[1]/div/div[2]/div[2]/div/div[2]/div/form/div/div/div[2]/div/div/a")).click();
}

1 个答案:

答案 0 :(得分:0)

通过在@BeforeClass

中定义的方法中插入与Web驱动程序初始化相关的方法解决了我的问题