2011-07-21 70 views
1

我想添加一個功能selenium2 PageFactory。我想要的是FindsByAttributeSelectedElement兼容。 我發現的問題是,如果我將SelectElement類型的屬性添加到IWrapsElement並在ProxiedWebElementInterceptor中執行它。當調用方法SetValue時,他說「不能將類型爲'Castle.Proxies.INewsWrapsElementProxy'的對象轉換爲'OpenQA.Selenium.Support.UI.SelectElement'類型。」 有人可以解釋返回所需值的城堡代理機制嗎?擴展硒2功能PageFactory

回答

1

試試這個

// Presumed to be in Page class 
[FindsBy(How = How.Id, Using = "ButtonId")] 
public IWebElement submitButton { get; set; } 

// Presumed to be in Helpers class 
public void ScrollToElementOnPage(IWrapsElement element) 
{ 
    var js = driver as IJavaScriptExecutor; 
return js.ExecuteScript("arguments[0].scrollIntoView(true);",element.WrappedElement); 
} 

Helpers _helpers = new Helpers(); 
Page _page = new Page(); 
_helpers.ScrollToElementOnPage((IWrapsElement)_page.submitButton);