Selenium PageFactory使用
通过FindBy查找元素@FindBy(id="notice01")private WebElement username;相当于driver.findElement(By.id("notice01"));示例:(1)测试类:import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.train.loginPage;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.openqa.selenium.support.PageFactory;
public class test_01 {
public static WebDriver driver =null;
@BeforeClass
public void beforeClass() {
System.out.println("Begin");
}
@Test
publicvoid chooseSeat() throws InterruptedException{
System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
driver = new ChromeDriver();
loginPage m =PageFactory.initElements(driver,loginPage.class);
driver.get("http://trains.ctrip.com/TrainBooking/SearchTrain.aspx###");
m.Search(driver,"上海");
}
@AfterClass
public void afterClass() {
System.out.println("end ");
}
}
(2)元素类:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
public class loginPage {
//通过id查找元素
@FindBy(id="notice01")
private WebElement username;
publicstatic WebElement element = null;
public static WebDriver driver =null;
public loginPage(WebDriver driver){
this.driver =driver;
}
public voidSearch(WebDriver driver,String leave){
this.username.sendKeys(leave);
}
}
执行后:
页:
[1]