Selenium:使用PageFactory实现PagaObject设计模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium:使用PageFactory实现PagaObject设计模式相关的知识,希望对你有一定的参考价值。

  软件测试培训WebDriver为了支持PageObject模式,内置了一个PageFactory的工厂类。接下来本文通过一个案例来讲下如何使用PageFactory。

  首先定义一个PageObject下面这个Class定义了一个页面对象通过工厂的方式将目标页面上的元素都定义好并且定义了一个当前页面的一个执行步骤【关键词搜索】

  package cn.testfan;

  import org.openqa.selenium.WebElement;

  import org.openqa.selenium.support.FindBy;

  public class BaiduSearchPage

  {

  @FindBy(id="kw")

  private WebElement a;

  @FindBy(id="su")

  private WebElement b;

  public void searchKeyWords(String text)

  {

  为了保证上述代码能运行不报空指针我们需要实例化这个PageObject写一个测试类的Class如下

  package cn.testfan;

  import org.openqa.selenium.WebDriver;

  import org.openqa.selenium.firefox.FirefoxDriver;

  import org.openqa.selenium.support.PageFactory;

  public class TestBaiduWithPageFactory {

  public static void main(String[] args) throws InterruptedException {

  WebDriver driver = new FirefoxDriver();

  driver.get("http://www.baidu.com/");

  driver.manage().window().maximize();

  BaiduSearchPage page = PageFactory.initElements(driver, BaiduSearchPage.class);

  page.searchKeyWords("testfan");

  Thread.sleep(1500);

  System.out.println(driver.getTitle());

  driver.close();

  }

  }

以上是关于Selenium:使用PageFactory实现PagaObject设计模式的主要内容,如果未能解决你的问题,请参考以下文章

Selenium PageFactory使用

如何使用 Selenium 和 Java 通过 PageFactory 等待元素不可见

Selenium PageFactory页面对象

Selenium WebDriver PageFactory FindsBy 使用 jQuery 选择器?

转在Python中实现PageFactory模式

浅析selenium的PageFactory模式