selenium 两个以上的Page Object Model使用实例
时间: 2024-10-06 19:01:34 浏览: 30
PageObjectModel-Selenium
Selenium Page Object Model(POM)是一种设计模式,用于将页面元素和交互逻辑模块化,使得测试代码更清晰、易于维护。当你需要处理两个以上页面对象时,可以创建独立的类来代表每个页面,并在这些类之间共享必要的行为和数据访问。
举个例子:
1. **创建Page Objects**:
- `LoginPage.java`: 对登录页面进行封装,包含用户名输入框、密码输入框和登录按钮等元素。
```
public class LoginPage {
private WebElement usernameInput;
private WebElement passwordInput;
private WebElement loginButton;
// 构造函数、初始化方法...
public void enterUsername(String username) { ... }
public void enterPassword(String password) { ... }
public void submit() { ... }
}
```
- `UserProfilePage.java`: 对用户个人资料页面进行封装,包含个人信息区域等。
```
public class UserProfilePage {
private WebElement userNameElement;
// 构造函数、初始化方法...
public String getUserDisplayName() { ... }
public void updateProfile() { ... }
}
```
2. **在测试类中使用**:
- 在测试登录流程时,先打开LoginPage对象并填写信息,然后提交。
```
@Test
public void testLogin() {
LoginPage login = new LoginPage();
login.open();
login.enterUsername("testUser");
login.enterPassword("password");
login.submit();
// 页面跳转到UserProfilePage
UserProfilePage userProfile = new UserProfilePage();
assertEquals("Expected user name", userProfile.getUserDisplayName());
}
```
3. **共享行为**:
如果有些操作如导航在多个页面中都存在,可以在一个工具类或`BasePage`中定义,然后让所有页面对象继承或使用。
阅读全文