我收到错误“java.lang.NullPointerException”

时间:2016-08-29 05:58:19

标签: eclipse testing selenium-webdriver firefox-marionette

我正在使用selenium Webdriver来测试Web应用程序。我正在使用marioette驱动程序,因为我是havin firefox 48.0因为yusing同样的网页被打开但是我无法将值放在文本框中它给出错误“java.lang.NullPointerException” 我写了代码

@BeforeTest
      public void setUp() throws Exception {
         System.setProperty("webdriver.gecko.driver", "D:\\ashwini\\geckodriver.exe");

          driver= new MarionetteDriver();

        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
      }

@Test
      public void testAddAccount() throws Exception {
        driver.get("http://qa.luna.wexeurope.com/CPCardWeb/login.htm?programme=CPYCGB");

        driver.findElement(By.id("username")).clear();
        driver.findElement(By.id("username")).sendKeys("cp_admin");
}


@AfterTest
      public void teardown()
      {
          driver.quit();
      }

输出是:

1472448949884   Marionette  INFO    sendAsync 3744f8a9-772e-42fe-8c85-6f9964888fb1
FAILED: testAddAccount
java.lang.NullPointerException
at Add_Account.testAddAccount(Add_Account.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)

我检查过它在sendkeys中给出了null值。 然而,我使用了其他选项,如name,xpath,css选择器,而不是by.id 它只给出了错误。  值仍未插入文本框

第36行是 driver.findElement(By.id( “用户名”))明确();         driver.findElement(By.id( “用户名”))的SendKeys( “cp_admin”);

我按照你说的调试,是的,它将null值传递给元素,这就是它抛出空指针异常的原因。所以请让我知道解决这个问题。因为我试图使用id,name,xpath,css selecter传递值。显示相同的错误。那你可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

Sub Main SendKeys Chr(125), True End Sub 表示您的驱动程序未正确初始化,因此在尝试查找元素时它具有null值。这与xpath / id等无关。

请检查Add_Account类的第36行,您将了解到哪里出现错误。如果你把你班级的全部代码供任何人调查,那将是件好事。

答案 1 :(得分:0)

通过从引用的库中删除不需要的jar来解决

问题