2011-07-21 10 views
1

セレニウム2に機能を追加したい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); 
をお試しください