1. 创建项目 →创建包名→创建页面类 如下:
2.实现代码如下 百度举例;
package POMDemo;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
public class BaiduPage {
//元素定位//登录链接
@FindBy(xpath=".//*[@id='u1']/a[7]")
WebElement login_link;
//选择用户名登录方式
@FindBy(xpath=".//*[@id='TANGRAM__PSP_10__footerULoginBtn']")
WebElement Ulogin;
//定位用户名文本框
@FindBy(id="TANGRAM__PSP_10__userName")
WebElement username_link;
//定位密码文本框
@FindBy(id="TANGRAM__PSP_10__password")
WebElement password_link;
//登录按钮
@FindBy(id="TANGRAM__PSP_10__submit")
WebElement login_submit;
//业务逻辑和操作方法
//登录方法
public void login(String username,String password) throws InterruptedException {
login_link.click();
Thread.sleep(1000);
Ulogin.click();
username_link.click();
username_link.sendKeys(username);
password_link.click();
password_link.sendKeys(password);
login_submit.click();
}
}
2.在testSuites包下新建一个测试脚本类;
代码实现如下;
package TestSuites;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.PageFactory;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import POMDemo.BaiduPage;
public class BaiduPagepom {
WebDriver driver;
@BeforeClass
public void setUp() throws Exception {
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("http://www.baidu.com");
Thread.sleep(1000);
}
@Test
public void testLogin() throws Exception {
BaiduPage bd = PageFactory.initElements(driver,BaiduPage.class);
bd.login("登录用户名", "登录用户名密码"); //需要测试的登录账号
}
}
运行测试脚本 运行结果;