您的位置:首页 > 其它

Selenium PageFactory使用

2021-05-15 17:13 169 查看

通过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
public  void 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;
    
    public  static WebElement element = null;
    public static WebDriver driver =null;
    public loginPage(WebDriver driver){
        this.driver =driver;
        
    }
    public void  Search(WebDriver driver,String leave){
        this.username.sendKeys(leave);    
}

}

 

执行后:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: