使用PageFactory类封装页面元素,并实现简单的登录
1.新建页面对象类LoginPage
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; import java.util.concurrent.TimeUnit; public class LoginPage { private WebDriver driver; private String login_url = "http://ip地址/路径"; @FindBy(xpath = "//input[@id='login-email-address']") public WebElement email; @FindBy(xpath = "//input[@id='login-password']") public WebElement password; @FindBy(xpath = "//input[@id='Iajax-login-submit']") public WebElement submitbutton; @FindBy(className ="dialog-cancel") public WebElement quxiao; //构造函数,生成浏览器对象,初始化PageFactory对象 public LoginPage(){ driver = new ChromeDriver(); //设置隐式等待 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //设置浏览器窗口最大化 driver.manage().window().maximize(); PageFactory.initElements(driver,this); } //登录的url方法 public void Load(){ driver.get(login_url); } //关闭浏览器的方法 public void quit(){ driver.quit(); } //登录操作的方法 public void login() throws InterruptedException { email.sendKeys("蔡徐坤坤"); password.sendKeys("qw123456"); submitbutton.click(); quxiao.click(); Thread.sleep(3000); } public WebDriver getDriver(){ return driver; } }
2.新建测试类TestLogin
import com.gloryroad.pageobjects.LoginPage; import org.openqa.selenium.WebDriver; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class Testfanwe { private LoginPage loginPage = new LoginPage(); private WebDriver driver; @BeforeMethod public void getConf(){ driver = loginPage.getDriver(); } @Test public void test_f_login() throws InterruptedException { loginPage.Load(); loginPage.login(); } @AfterMethod public void quit(){ loginPage.quit(); } }

浙公网安备 33010602011771号