使用反射实现 webdriver page 类
来源:互联网 发布:sqlserver tochar 编辑:程序博客网 时间:2024/05/22 06:51
这个类的目的是为了简化page类的实例化,只需要定义public page成员变量 然后再 启动driver后 通过反射实例化page 后面可以直接点出page实例
package crazy.seleiumTools;import java.lang.reflect.Field;import org.openqa.selenium.WebDriver;import crazy.tools.Dbtool;/** * @author xian_crazy QQ:330126160 * @version 2014年12月5日 下午1:43:29 * @see */public class PageFactory { private WebDriver driver; private Dbtool dbtool; public PageFactory(WebDriver driver, Dbtool dbtool) { this.dbtool = dbtool; this.driver = driver; this.pageFactory(); } public void pageFactory() { /** * 通过反射自动循环实例化所有public 页面 */ Field[] f = this.getClass().getFields(); for (int i = 0; i < f.length; i++) { try { f[i].set( this, Class.forName(f[i].getType().getName()) .getConstructor(WebDriver.class, Dbtool.class) .newInstance(driver, dbtool)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}
具体项目中继承改类
import org.openqa.selenium.WebDriver;import yly.web.Page.LoginPage;import yly.web.Page.MainMenuPage;import crazy.seleiumTools.PageFactory;import crazy.tools.Dbtool;/** * @author xian_crazy QQ:330126160 * @version 2014年11月13日 上午9:19:46 * @see */public class PageF extends PageFactory{ public MainMenuPage mainMenuPage; public LoginPage loginpage; public PageF(WebDriver driver, Dbtool dbtool) { super(driver, dbtool); }}
最后实例化一次PageF 就可以直接点出自己的page了
0 0
- 使用反射实现 webdriver page 类
- Selenium-webdriver—使用Page Object设计模式
- Cucumber java + Webdriver (7) 结合Page Object,使用LoadableComponent
- page类的实现
- WebDriver实现
- Selenium-webdriver系列教程(8)———使用Page Object设计模式
- Cucumber java + Webdriver (4) 使用自动化测试的Page对象模式
- 使用反射机制实现分页
- 使用反射模拟实现hibernate
- 使用反射实现动态权限
- 使用JOOR实现Java反射
- webdriver实现窗口切换
- 揭秘webdriver实现原理
- webdriver实现原理
- 揭秘webdriver实现原理
- webdriver实现窗口最大化
- Webdriver实现原理
- Webdriver实现原理
- 2015.1.6小结
- 如何选择开源许可证?
- 【leetcode】 Find Minimum in Rotated Sorted Array
- [个人向]2014年上道初回顾
- 8核64位处理器性能大比拼
- 使用反射实现 webdriver page 类
- JQuery Mobile实现滑动屏幕切换页面
- Android音频系统之AudioPolicyService
- LCD工作原理 驱动之LCD 上电时序
- 每日读书计划第一天
- RAC启动关闭顺序
- vim 删除多余空白行
- 自动从svn版本库同步到运行目录
- Hello World