LazyUI框架中,BrowserEmulator类提供了大量的浏览器操作,常用的API列举如下:

1. 基本操作

/**
* Open the URL
* 打开一个URL
* @param url
* the target URL
*/
void open(String url);

/**
 * 获取当前URL
 */
String getCurrentUrl();

/**
 * Refresh the browser
 * 刷新当前页面
 * 包含重试和超时机制
 * 不支持设置预先等待时间(通过设置pause变量)
 */
void refresh();

/**
 * Quit the browser
 * 退出浏览器
 */
void quit();

/**
 * Pause
 * 等待XXX毫秒
 * @param time in millisecond
 */
void pause(int time);

/**
 * 点击浏览器原生的alert
 */
void clickAlert();

/**
 * 根据Xpath,找到控件并返回
 * 有重试和超时机制
 */
WebElement findElementByXpath(String xpath);

/**
 * Get the JavascriptExecutor instance embedded in BrowserEmulator
 * 获取JavaScript执行器
 * @return a JavascriptExecutor instance
 */
JavascriptExecutor getJavaScriptExecutor();
 

 

2. 窗口切换

/**
* 返回当前聚焦的window的title
*/
String getCurrentWindowTitle();

/**
 * Switch window/tab
 * 根据title来切换浏览器的选项卡
 * 如果有重名的,就不好使了
 * 不包含重试和超时机制
 * 不支持设置预先等待时间
 * @param windowTitle
 *            the window/tab's title
 * @throws Exception
 */
void selectWindow(String windowTitle);

/**
 * Switch window/tab
 * 根据title中包含的字符串来切换浏览器的选项卡
 * 如果有重名的,默认切换到找到的第一个
 * 不包含重试和超时机制
 * 不支持设置预先等待时间
 * @param windowTitle
 *            the window/tab's title
 * @throws Exception
 */
void selectWindowFuzzy(String windowTitleWord);

/**
 * Switch window/tab
 * 切换到driver打开的唯一的window,通常关掉其他窗口后,
 *需要切换回原窗口(driver只剩原窗口)时使用
 * @throws Exception
 */
void selectTheOnlyWindow();

3. frame操作

/**
 * Enter the iframe
 * 根据xpath,进入一个iframe
 * 包含重试和超时机制
 * 不支持设置预先等待时间(通过设置pause变量)
 * @param xpath
 *            the iframe's xpath
 */
void enterFrame(String xpath);
/**
 * Enter frame
 * 根据nameOrId,进入一个iframe
 * 包含重试和超时机制
 * 不支持设置预先等待时间(通过设置pause变量)
 * @param nameOrId frame's name or id
 */
void enterFrameByNameOrId(String nameOrId);
/**
 * Leave the iframe
 * 离开当前iframe
 * 包含重试和超时机制
 * 不支持设置预先等待时间(通过设置pause变量)
 */
void leaveFrame();
 

4. 鼠标键盘操作

/**
 * Hover on the page element
 * 根据xpath,找到一个控件,鼠标移动到控件上方
 * 不支持Safari
 * 包含重试和超时机制
 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量)
 * @param xpath
 *            the element's xpath
 */
void mouseOver(String xpath);

/**
 * Hover on the page element
 * 根据多个xpath(同一个控件的不同Xpath写法,增大找到控件的几率),找到一个控件,鼠标移动到控件上方
 * 不支持Safari
 * 包含重试和超时机制
 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量)
 * @param xpathArray
 *            the element's xpath
 */
void mouseOver(String[] xpathArray);

/**
 * Mimic system-level keyboard event
 * @param keyCode
 * 模拟按下一个键,等待100毫秒,释放该键
 * 包含重试和超时机制
 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量)
 *            such as KeyEvent.VK_TAB, KeyEvent.VK_F11
 */
void pressKeyboard(int keyCode);
/**
 * Mimic system-level keyboard event with String
 * 模拟键盘输入一段文字
 * 包含重试和超时机制
 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量)
 * @param text
 *
 */
void inputKeyboard(String text);

 

最新文章

  1. Android Fragment (二) 实例1
  2. centos 7.0 phpize 扩展php
  3. 电商大促准备流程v2
  4. DMZ区域
  5. Appium自动化测试环境的搭建及脚本执行
  6. C++的类和对象
  7. 转载: Nova-Router 分析
  8. VIM 多行输入 数字递增 新方法 循环记录法
  9. PHP中域名绑定
  10. Jquery如何删除table里面checkbox选中的多个行
  11. 【转载】详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI区别
  12. linux 清理几天前的日志或文件
  13. Entity Framework 6源码学习--设置调试EF环境
  14. ps 命令的十个简单用法【转】
  15. Node.js初探
  16. 记一次包含iframe的需要滚动的元素不能滚动到底部的问题
  17. 【deep learning学习笔记】注释yusugomori的DA代码 --- dA.h
  18. apo 简单参考
  19. 两个应用之间传递广播的规则 Broadcast
  20. Swift 里字符串(九)UTF16View

热门文章

  1. Spring MVC基础学习
  2. Asp.net Core2.0 缓存 MemoryCache 和 Redis
  3. JS基本数据类型(typeof的返回结果)
  4. Multipath在OpenStack中的faulty device的成因及解决(part 2)
  5. [SDOI 2014]数表
  6. PKUWC2018划水记
  7. 洛谷P3168 [CQOI2015]任务查询系统
  8. ●BZOJ 2006 NOI 2010 超级钢琴
  9. Linux LCD 显示图片【转】
  10. 什么是Hash?