Mario洁 发表于 2018-7-6 15:01:25

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]
查看完整版本: Selenium PageFactory使用