这篇主要学会将我们在第一篇中使用到的元素按照不同的页面放到对应的类中,从第一篇中可知,我们主要涉及到的是一个登录页面,和一个查询页面。则我们可以创建一个page文件夹,包含一个登录页面,一个查询页面.。
1.在第一篇创建的Demo项目下,再创建一个包com.test.page,在com.test.page中创建两个类,Loginpage、Querypage.
2.Loginpage的代码如下:
package com.oc.page;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class LoginPage {
private static WebElement element;
public static WebElement userName(WebDriver driver){//用户名
element = driver.findElement(By.id("username"));
return element;
}
public static WebElement passWord(WebDriver driver){//密码
element = driver.findElement(By.id("password"));
return element;
}
public static WebElement loginButton(WebDriver driver){//登录按键
element = driver.findElement(By.id("loginButton"));
return element;
}
}
3.Querypage的代码如下:
package com.test.page;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class Querypage {
private static WebElement element;
public static WebElement NextPage(WebDriver driver){
element = driver.findElement(By.linkText("下一页"));//下一页按键
return element;
}
public static WebElement PreviousPage(WebDriver driver){
element = driver.findElement(By.linkText("上一页"));//上一页按键
return element;
}
public static WebElement FirstPage(WebDriver driver){
element = driver.findElement(By.linkText("第一页"));//第一页按键
return element;
}
public static WebElement LastPage(WebDriver driver){
element = driver.findElement(By.linkText("最后一页"));//最后一页按键
return element;
}
public static WebElement Go(WebDriver driver){
element = driver.findElement(By.linkText("go"));//go按键
return element;
}
public static WebElement PageInput(WebDriver driver){
element = driver.findElement(By.id("pageInput"));//输入页码
return element;
}
}
4.第一篇中的test类代码更新为:
package testng;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
import com.test.page.Loginpage;
import com.test.page.Querypage;
public class test {
WebDriver driver;
@BeforeTest
public void beforeTest() {
WebDriver driver = new FirefoxDriver();
driver.get("http://123.57.56.45:7778/test/initLogin");
driver.manage().window().maximize();// 窗口最大化
}
@Test(priority=1)
public void login()//登录
throws InterruptedException {
Loginpage.userName(driver).sendKeys("999999");// 输入登录用户名
Loginpage.passWord(driver).sendKeys("111111");// 输入登录密码
Thread.sleep(2000);
Loginpage.loginButton(driver).click();// 点击登录
}
@Test(priority=2)
public void query_keys() throws InterruptedException{ //查询界面按键测试
Thread.sleep(2000);
Querypage.NextPage(driver).click();//点击下一页
Thread.sleep(2000);
Querypage.LastPage(driver).click();//点击最后一页
Thread.sleep(2000);
Querypage.PageInput(driver).sendKeys("20");//输入跳转页面为20
Querypage.Go(driver).click();//点击go,跳转到20页
Thread.sleep(2000);
Querypage.PreviousPage(driver).click();//点击上一页
Thread.sleep(2000);
Querypage.FirstPage(driver).click();//点击第一页
}
@AfterTest
public void afterTest() {
driver.close();
}
}
看起来脚本似乎也没有变的更简单的样子,就是将页面元素封装了,后面使用只需要调用即可。不要急,慢慢来……