博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium2_page object学习积累
阅读量:6787 次
发布时间:2019-06-26

本文共 1399 字,大约阅读时间需要 4 分钟。

   在学习selenium中page obiect记录,采用分层思想,页面元素与测试方法分离出来;

   page方法可以把页面元素放到该方法中:

页面类:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.CacheLookup;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class BDPage {
        
    //定义元素变量
    /**定义百度搜索的输入框*/
    @FindBy(id="kw")   //查找定义 @FindBy(name/className/xpath/css="kw")  
    @CacheLookup  //找到元素之后缓存起来,重复使用这些元素,加快测试速度
    public WebElement keyword_input;
    
    /**定义百度搜索的搜索按钮*/
    @FindBy(id="su")
    @CacheLookup
    public WebElement search_button;
      
    public BDPage(WebDriver driver)
    {
        PageFactory.initElements(driver, this);
    }
}

实体类:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class BDPageTest {
    
    WebDriver driver;
    
    @Test
    public void Testpd()
    {
        //实例化BDPage对象
        BDPage bdp = new BDPage(driver);
        //bdp调用keyword_input元素,然后使用元素的sendKeys方法向输入框输入“你好”
          bdp.keyword_input.sendKeys("你好");
        //bdp调用search_button元素,然后调用元素的click方法点击搜索按钮
          bdp.search_button.click();
    }
     @BeforeTest
      public void beforeTest() {
          driver = new FirefoxDriver();
          driver.manage().window().maximize();
          driver.get("https://www.baidu.com");
      }
      @AfterTest
      public void afterTest() {
          driver.quit();
      }
}

本文转自 知止内明 51CTO博客,原文链接:http://blog.51cto.com/357712148/1908710,如需转载请自行联系原作者
你可能感兴趣的文章
房地产利润是多少?卖一套房子能赚多少钱?
查看>>
linux引导系统
查看>>
HTML5的表单所有type类型
查看>>
允许远程链接mysql,开放3306端口
查看>>
React创建组件的三种方式比较
查看>>
深入理解react中的虚拟DOM、diff算法
查看>>
几个免费的DNS地址
查看>>
帝国cms 不能正常显示最新文章
查看>>
简单介绍Ceph分布式存储集群
查看>>
Let's Encrypt 免费通配符 SSL 证书申请教程——但是也需要email,域名所有权等,如果是黑产用的话会这样用吗?会不会暴露自己身份???...
查看>>
(原)g++编译后运行时无法链接动态库的解决方法
查看>>
《高效能程序员的修炼》之译者序(本书将于7月初上市,人民邮电出版社)
查看>>
CVT电子集团--笔试部分试题
查看>>
[置顶] 【cocos2d-x入门实战】微信飞机大战之四:飞机登场咯
查看>>
AppBoxPro - 细粒度通用权限管理框架(可控制表格行内按钮)源码提供下载
查看>>
jQuery的prop和attr方法之间区别
查看>>
Leetcode: Graph Valid Tree && Summary: Detect cycle in undirected graph
查看>>
GCD多线程
查看>>
成 功 的 背 后 !( 致给所有IT人员)
查看>>
PHP常用的三种设计模式
查看>>