Я создаю тесты, используя веб-драйвер Selenium 2 с С#.Net. Прочитав большое количество документации по Selenium, я не уверен, что следую правильному шаблону проектирования, и не уверен, как проводить тестирование с использованием шаблонов проектирования PageObject.
вот мой текущий код, который я использую на своей странице, и он работает
WaitForElement(By.CssSelector("input#ctl00_ctl00_signinControl_txtUsername")).SendKeys("abc123");
WaitForElement(By.CssSelector("input#ctl00_ctl00_signinControl_txtPassword")).SendKeys("password");
SelectElement select;
IWebElement selElement = WaitForElement(By.CssSelector("select#ctl00_ctl00_ddlGoTo"));
select = new SelectElement(selElement);
select.SelectByText("Homepage");
*<more code .....>*
также я сказал, что не могу использовать элемент страницы Select
с помощью pageFactory.
Нужно ли мне изменить свой код так, как я его закодировал? любая обратная связь будет здорово.
Select
? Не вижу причин, почему бы и нет. Шаблон Page Object просто предназначен для того, чтобы разделить ваши тесты на их элементы и то, как они взаимодействуют. Ваш тест не должен заботиться о том, как будет найден элемент, за это отвечает объект вашей страницы. - person Arran   schedule 13.02.2013WebElement
(не соответствующий подкласс, напримерSelect
). Вы можете преобразоватьWebElement
вSelect
во время выполнения, когда собираетесь взаимодействовать с элементом управления экраном, но это не очень чисто; было бы намного лучше, если бы вы могли создать его какSelect
в первую очередь. - person Vince Bowdren   schedule 30.04.2013