1.Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性。
PageObject设计模式:是将某个页面的所有"元素(包含控件)属性"及"元素操作"封装在1个类(Class)里面。
2.以我们公司的登录页面为例讲解pom模式:

 pom的模式就是测试代码和元素定位的分离,保证在元素定位发生改变的时候,不会再去更改测试代码,实现测试代码和页面元素的分离。
3.元素定位代码:
package com.rrx.test;
import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
public class TestLoginPage {
 //登录名
 @FindBy(xpath=“.//[@id=‘username’]“)
 WebElement userName;
 //密码
 @FindBy(xpath=”.//[@id=‘password’]”)
 WebElement password;
 //登录按钮
 @FindBy(xpath=“.//*[@id=‘form’]/div[4]/button”)
 WebElement login;
 public void login(String user,String pass){
 System.out.println(user);
 userName.sendKeys(user);
 password.sendKeys(pass);
 login.click();
 }
}
4.测试代码:
package com.rrx.test;
import java.io.IOException;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.support.PageFactory;
 import org.testng.Assert;
 import org.testng.Reporter;
 import org.testng.annotations.Test;
import com.rrx.framework.BorwserEngin;
 import com.rrx.framework.Logger;
public class NewTest {
 @Test
 public void f() throws IOException, InterruptedException {
 BorwserEngin borwser=new BorwserEngin();
 Reporter.log(“我在打印日志”);
 WebDriver driver = borwser.getDriver();
 TestLoginPage page=PageFactory.initElements(driver, TestLoginPage.class);
 page.login(“hexin001”,“Test123456”);
Reporter.log(“我退出浏览器了”);
 Thread.sleep(3000);
 Logger.getLogger().info(“退出”);
 // borwser.tearDown();
}
 }
最后:下方这份完整的【自动化测试】视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】





















