我收到错误 "java.lang.NullPointerException"
I am getting error "java.lang.NullPointerException"
我正在使用 selenium Webdriver 来测试 Web 应用程序。我使用的 marioette 驱动程序与我的 havin firefox 48.0 相同,因为使用相同的网页打开但是我无法将值放在文本框中,它给出了错误“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 中给出空值。
但是,我没有使用 by.id,而是使用了其他选项,例如名称、xpath、css 选择器
它只给出错误。
值仍未插入文本框中
第 36 行是
driver.findElement(By.id("username")).clear();
driver.findElement(By.id("username")).sendKeys("cp_admin");
我已经按照你所说的进行了调试,是的,它将空值传递给元素,这就是它抛出空指针异常的原因。所以请让我知道如何解决这个问题。因为我尝试使用 id、name、xpath、css 选择器传递值。显示相同的错误。你能帮帮我吗?
NullPointerException
表示您的驱动程序未正确初始化,因此在尝试查找元素时它具有空值。这与xpath/id等无关
请检查Add_Account class 的第36 行,您将知道具体哪里有错误。如果您将 class 的全部代码放在一起供任何人查看,那将是一件好事。
问题已通过从引用的库中删除不需要的 jar 得到解决
我正在使用 selenium Webdriver 来测试 Web 应用程序。我使用的 marioette 驱动程序与我的 havin firefox 48.0 相同,因为使用相同的网页打开但是我无法将值放在文本框中,它给出了错误“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 中给出空值。 但是,我没有使用 by.id,而是使用了其他选项,例如名称、xpath、css 选择器 它只给出错误。 值仍未插入文本框中
第 36 行是 driver.findElement(By.id("username")).clear(); driver.findElement(By.id("username")).sendKeys("cp_admin");
我已经按照你所说的进行了调试,是的,它将空值传递给元素,这就是它抛出空指针异常的原因。所以请让我知道如何解决这个问题。因为我尝试使用 id、name、xpath、css 选择器传递值。显示相同的错误。你能帮帮我吗?
NullPointerException
表示您的驱动程序未正确初始化,因此在尝试查找元素时它具有空值。这与xpath/id等无关
请检查Add_Account class 的第36 行,您将知道具体哪里有错误。如果您将 class 的全部代码放在一起供任何人查看,那将是一件好事。
问题已通过从引用的库中删除不需要的 jar 得到解决