WebDriver PageObject学习

本文介绍PageObject模式在自动化测试中的应用,重点讲解如何利用该模式提高测试代码的可维护性和可读性。通过实例演示了如何使用PageFactory进行页面元素的初始化,并探讨了@FindBy、@FindBys和@FindAll等注解的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前写自动化测试框架的时候,觉得管理页面的WebElement元素有点乱,都是写在一个 xml配置文件中,但是具体的是使用id,name,xpath,css 还是别的方式去定位就比较乱,最近学习了PageObject,觉得相当好用,写出来分享一下。WebDriver为了支持PageObject模式,支持库包含一个叫PageFactory的工厂类。
简单来说:PageObject类主要用于分离页面元素和模拟用户浏览器操作代码,下面直接上代码:
模拟在百度上面搜索“webdriver”

 

 可以从上面图片中看出,可以明确指定到底是id, name , xml 还是其他方式方式来findElement,这样方便以后的管理,提高了代码的复用性和可读性,万一以后页面定位元素方式有变化,可以很方便,很直观的修改

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

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

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

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值