我正在使用Selenium 2 Web Driver和C#.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 .....>*
我也告诉过我不能使用pageFactory使用Select
页面元素。
我是否需要按照编码方式更改代码?任何反馈都会很棒。
答案 0 :(得分:0)
页面对象模式的想法是拥有一个表示页面的对象。您实质上是在编写一个API来了解如何与页面进行交互。
例如,登录页面对象可能具有以下方法:
使用页面对象与页面交互的人不需要关心selenium如何找到元素并与之交互。如果字段上的id发生更改,则只需更改页面对象上的定位器,而无需更改调用关联页面对象公共方法的所有测试。