2015-09-04 78 views
0

我有使用Selenium Webdriver查找對象的C#自動化代碼。此代碼有效(見下文):使用PageObjects的C#Selenium Webdriver:無法使用FindsBy查找對象;可以使用FindElement找到相同的對象

driver.FindElement(By.Id("Cyber Liability_start")).Click(); 

最近,我們的測試組投票轉移到Page Object Framework。我現在創建了一個使用Selenium PageObjects庫的類。下面是相同的對象,但在頁面對象類中。

[FindsBy(How = How.Id, Using = "Cyber Liability_start")] 
public IWebElement btnNGP { get; set; } 

public void ClickNGP() 
{ 
WaitForLoad();   
btnNGP.Click(); 
} 

但是,當我運行我的測試使用頁面對象類,我得到一個「沒有匹配元素」的錯誤。所以,看起來Selenium無法找到頁面對象。任何建議如何解決讚賞。謝謝。

回答

0

問題是因爲app.config文件中Page的條目不同於Page Object Class Name。

項在app.config文件是

<add name="PC_ProductsProgramsPage" 

而類的名字是PC_Products_ProgramsPage.cs

當我改變在app.config文件中的條目「PC_Products_ProgramsPage」,頁面對象是成功確定。

謝謝