0

テスト 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セレクターを使用して値を渡そうとしたためです。同じエラーが表示されます。私を助けてくれませんか?

4

2 に答える 2

0

参照されたライブラリから不要な jar を削除することで問題が解決されます

于 2016-09-09T13:56:37.890 に答える