2017-02-22 39 views
0

嗨,大家好,我正在使用@FindBy註釋作爲我的對象地址,並且在基類中,即所有頁面的父類,如下:Selenium - 在同一類中使用@FindBy和傳統的driver.findByElement

的BasePage:

public BasePage(WebDriver driver){ 

     PageFactory.initElements(driver, this); 
} 

的子頁面:

@FindBy(id = "ctl00_ContentPlaceHolder1_physicianList") 

WebElement myElement; 

現在爲止,一切運行良好。

現在我需要追加一些參數到地址,因爲我需要它的一些邏輯實現。

由於@FindBy只能用於靜態地址,我決定用傳統的driver.findElementBy ...

類似下面:

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

但是,當我運行此我得到一個空指針異常。

它不是與地址的問題,因爲我已經嘗試硬編碼上述ID,並使其靜象下面這樣:

ctl004_LinkBut​​ton2

我仍然會碰到的空指針異常,而當我嘗試靜態與@FindBy它工作正常。

有人請提供一些意見。

謝謝

回答

0

嗨,大家好我想通了什麼是問題。我得到的驅動程序的值爲null,因此是空指針異常。我已經在子類中添加了一個Webdriver驅動程序實現,而我卻忘記了刪除它。這是造成這個問題。

+0

你應該接受你的答案,然後它會結束這個問題。 – juherr

相關問題