Расширение функциональности селена2 PageFactory - PullRequest
1 голос
/ 21 июля 2011

Я хочу добавить функциональность в selenium2 PageFactory.Я хочу, чтобы FindsByAttribute был совместим с SelectedElement.Проблема, которую я обнаружил, если я добавляю свойство с типом SelectElement в IWrapsElement и внедряю его в ProxiedWebElementInterceptor.Когда вызывается метод SetValue поля, он говорит: «Объект типа 'Castle.Proxies.INewsWrapsElementProxy' не может быть преобразован в тип 'OpenQA.Selenium.Support.UI.SelectElement'."Может кто-нибудь объяснить механизм прокси-замка, который возвращает нужное значение?

1 Ответ

1 голос
/ 22 апреля 2013

Попробуйте это

// 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);
...