WebDriver PageObject学习

阅读更多
之前写自动化测试框架的时候,觉得管理页面的WebElement元素有点乱,都是写在一个 xml配置文件中,但是具体的是使用id,name,xpath,css 还是别的方式去定位就比较乱,最近学习了PageObject,觉得相当好用,写出来分享一下。WebDriver为了支持PageObject模式,支持库包含一个叫PageFactory的工厂类。
简单来说:PageObject类主要用于分离页面元素和模拟用户浏览器操作代码,下面直接上代码:
模拟在百度上面搜索“webdriver”
WebDriver PageObject学习_第1张图片
 
WebDriver PageObject学习_第2张图片
 可以从上面图片中看出,可以明确指定到底是id, name , xml 还是其他方式方式来findElement,这样方便以后的管理,提高了代码的复用性和可读性,万一以后页面定位元素方式有变化,可以很方便,很直观的修改

 
 PageFactory.initElements(driver, this); 就是用于页面元素的初始化,这样简化了页面元素获取的代码,之前都是通过下面形式来进行页面元素的初始化:
当然,  PageObject 除了使用@FindBy意外,还有一些别的注解,比如:@FindBys @FindAll
@FindBys
@FindBys 相当于是取交集,是先根据第一个注解获取到对应元素,然后根据第二个注解再筛选出对应的页面元素,。如先找到符合classname=A的元素,再在这些元素集中找到classname=B的所有元素
就像如下操作:
driver.findElement().findElement()
@ FindAll 

 @FindAll相当于是取并集,如找到id=A和id=B的所有元素

 今天先到这里,以后如果有新的内容再分享。

 
  • WebDriver PageObject学习_第3张图片
  • 大小: 28.5 KB
  • WebDriver PageObject学习_第4张图片
  • 大小: 90.6 KB
  • WebDriver PageObject学习_第5张图片
  • 大小: 16.4 KB
  • WebDriver PageObject学习_第6张图片
  • 大小: 7.4 KB
  • WebDriver PageObject学习_第7张图片
  • 大小: 14.2 KB
  • WebDriver PageObject学习_第8张图片
  • 大小: 13.9 KB
  • 查看图片附件

你可能感兴趣的:(WebDriver,PageObject)