テスト Web アプリケーションに Selenium Webdriver を使用しています。Firefox 48.0 と同じようにマリオエット ドライバーを使用しています。これを使用すると Web ページが開きますが、テキスト ボックスに値を入力できず、エラー「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値を与えるのと同じことを確認しました。ただし、by.idの代わりに、name、xpath、cssセレクターなどの他のオプションを同じものに使用しましたが、エラーのみが発生します。値はまだテキスト ボックスに挿入されていません
36 行目は driver.findElement(By.id("username")).clear(); です。driver.findElement(By.id("ユーザー名")).sendKeys("cp_admin");
あなたが言ったように、はい、null値を要素に渡すため、nullポインター例外をスローするデバッグがあります。これを解決するために私に知らせてください。ID、名前、xpath、cssセレクターを使用して値を渡そうとしたためです。同じエラーが表示されます。私を助けてくれませんか?