0

次の問題の解決策を見つけるのに 1 日を費やしました:

Selenium WD を使用すると、単純な js コードでさえ実行できません。常に NullPointerException を返します。すでにたくさんの回答を読んでいますが、まだ理由が見つかりません。以下のコードは、1 日調査した後のコードです (すべてを試しただけです)。

WebDriver driver2;
JavascriptExecutor js = (JavascriptExecutor)driver2;
driver.get(baseUrl+ "/");
js.executeScript("return showAlert()");

これも機能しない元のコードです。

    public class DPT_class {
      private WebDriver driver;

      @Before
      driver = new FirefoxDriver();
      JavascriptExecutor js = (JavascriptExecutor) driver;

      @Test
      //some testing code here
      driver.get(baseUrl+ "/");
      js.executeScript("return showAlert()");
}

リターンと引用符の有無にかかわらず、alert(document.title) などの他の js コードについても同じことが言えます。*baseUrl はもちろん事前定義されています。

ありがとう!

4

2 に答える 2

2

@Smitが言うように、そしてあなたのNullPointerException

オブジェクトを実際に初期化したことがなくWebDriver、null オブジェクトを JavaScriptExecutor にキャストしようとしています。

使用するブラウザの種類に応じて、次のことができます..

WebDriver driver = new ChromeDriver();
WebDriver driver = new FirefoxDriver(); // etc...

また、なぜ 2 つのドライバー オブジェクトを使用しようとしているのですか? オブジェクトの名前は のままにしdriverます。

于 2013-09-27T04:09:50.870 に答える
0

変更されました

private WebDriver driver;
      driver = new FirefoxDriver();
      JavascriptExecutor js = (JavascriptExecutor) driver;

WebDriver driver = new FirefoxDriver();
  JavascriptExecutor js = (JavascriptExecutor) driver;

理由はわかりませんが、今は機能しています!どうもありがとう!

于 2013-09-27T12:06:07.287 に答える