2017-02-22 8 views
0

こんにちは私のオブジェクトアドレスには@FindBy注釈を使用していました。すべてのページの親クラス、つまり親クラスは表示されているようにページファクトリを初期化していました以下:Selenium - 同じクラスの@FindByと従来のdriver.findByElementを使用

BasePageクラス:

public BasePage(WebDriver driver){ 

     PageFactory.initElements(driver, this); 
} 

サブページ:

@FindBy(id = "ctl00_ContentPlaceHolder1_physicianList") 

WebElement myElement; 

は今、これまですべてがうまく働きました。

ここで私はいくつかのパラメータをアドレスに追加する必要があります。なぜなら、私はいくつかのロジック実装に必要なのでです。

@FindBy iは、伝統的なdriver.findElementByを使用することを決めた静的アドレスのみを使用することができますので...

以下のような何か:

WebElement report = driver.findElement(By.id("ctl00" + noOfPatients + "_LinkButton2")); 

しかし、私はこれを実行したときに、私がnullpointer例外を取得します。

そのない私は上記のIDをハードコーディングし、それが静的以下のようになって試してみましたように、アドレスの問題:

ctl004_LinkBut​​ton2

私はまだ私が静的を試したときにはnullポインタ例外に遭遇

@FindBy正常に動作します。

入力をお願いします。

ありがとうございました

答えて

0

こんにちは、私は問題が何かを考え出しました。私はnullのためnullpointerの例外としてドライバの値を得ていた。 Webdriverドライバの実装をサブクラスに追加していましたが、削除するのを忘れてしまいました。これは問題を引き起こしていました。

+0

あなたはあなたの答えを受け入れる必要があります。 – juherr

関連する問題