0

我正在使用 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 .....>*

我也告诉过我不能Select使用 pageFactory 来使用页面元素。

我是否需要按照我的编码方式更改我的代码?任何反馈都会很棒。

4

1 回答 1

0

页面对象模式的思想是拥有一个代表页面的对象。您实际上是在编写一个 API 来与页面交互。

例如,登录页面对象可能具有以下方法:

  • 输入用户名(字符串用户名);
  • enterPassword(字符串密码);
  • 点击登录按钮();

使用页面对象与页面交互的人不需要关心 selenium 如何找到元素并与它们交互。如果字段上的 id 发生更改,您只需要更改页面对象上的定位器,并且不需要更改调用关联页面对象公共方法的所有测试。

于 2013-02-13T06:00:37.203 回答