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);

 

Web自动化框架LazyUI使用手册(7)--浏览器常用操作API的更多相关文章

  1. Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)

    概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面 ...

  2. Web自动化框架LazyUI使用手册(2)--先跑起来再说(第一个测试用例-百度搜索)

    作者:cryanimal QQ:164166060 上篇文章中,简要介绍了LazyUI框架,本文便来演示,如何从无到有快速搭建基于lazyUI的工程,并成功运行第一个测试用例. 本文以百度搜索为例,选 ...

  3. Web自动化框架LazyUI使用手册(1)--框架简介

    作者:cryanimal QQ:164166060 web端自动化简介 web端自动化,即通过自动化的方式,对Web页面施行一系列的仿鼠标键盘操作,以达到对Web页面的功能进行自动化测试的目的. 其一 ...

  4. Web自动化框架LazyUI使用手册(5)--模板工程:LazyUI-template详解

    概述: LazyUI-template: 提供Maven管理的,基于Spring+Testng的,包含常用浏览器driver的,方便连接各种数据库的java模板工程,并提供以百度搜索为例的第一个测试用 ...

  5. Web自动化框架LazyUI使用手册(4)--控件抓取工具Elements Extractor详解(批量抓取)

    概述 前面的一篇博文详细介绍了单个控件抓取的设计思路&逻辑以及使用方法,本文将详述批量控件抓取功能. 批量抓取:打开一个web页面,遍历页面上所有能被抓取的元素,获得每个元素的iframe.和 ...

  6. Web自动化框架LazyUI使用手册(8)--excel数据驱动详解(ExcelDataProvider)

    概述 框架提供了excel数据驱动方式运行测试用例的工具,本文将针对数据驱动,进行详细演示. 详见类:lazy.test.ui.browser.ExcelDataProvider 被测对象: http ...

  7. Web自动化框架LazyUI使用手册(6)--8种控件对应的class,及可对其进行的操作

    概述: 本文详述8种控件对应的class,及可对其进行的操作 回顾: 回顾一下,下文中的工具设计思路部分: http://blog.csdn.net/kaka1121/article/details/ ...

  8. APP自动化框架LazyAndroid使用手册(3)--核心API介绍

    作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204 ...

  9. 基于Selenium的web自动化框架

    转自 : https://www.cnblogs.com/AlwinXu/p/5836709.html 1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台. ...

随机推荐

  1. CARVARS 圆形进度条

    先看下效果 这是两个不同进度的进度条,由于carvas用找的只是id所以下面想多个进度条必须要根据class来找到id,所以我封装了一个进度条的函数,下面的代码直接复制粘贴就可以了 <!DOCT ...

  2. Oracle RAC环境下定位并杀掉最终阻塞的会话-续

    之前在<Oracle RAC环境下定位并杀掉最终阻塞的会话>中,最终使用一个SQL查询出RAC实例之间的所有阻塞关系.但是实际在某些极端的生产环境,是不允许执行复杂的SQL语句,即使允许执 ...

  3. [HNOI 2018]排列

    Description 题库链接 给定 \(n\) 个整数 \(a_1, a_2, \dots, a_n, 0 \le ai \le n\) ,以及 \(n\) 个整数 \(w_1, w_2, \do ...

  4. [BZOJ 4916]神犇和蒟蒻

    Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; Output 请你 ...

  5. codefroces 946G Almost Increasing Array

    Description给你一个长度为$n$的序列$A$.现在准许你删除任意一个数,删除之后需要修改最小的次数使序列单调递增.问最小次数.$1≤n≤200000$ExamplesInput55 4 3 ...

  6. [HAOI2011]Problem c

    题目描述 给n个人安排座位,先给每个人一个1~n的编号,设第i个人的编号为ai(不同人的编号可以相同),接着从第一个人开始,大家依次入座,第i个人来 了以后尝试坐到ai,如果ai被占据了,就尝试ai+ ...

  7. 计蒜客NOIP2017提高组模拟赛(三)day2-直线的交点

    传送门 简单几何+逆序对 发现当两条直线甲乙与平板的交点在上面甲在较左的位置,那么下面甲在较右的位置就可以相交 然后把上面的位置排下序,下面离散化+树状数组即可 #include<cstdio& ...

  8. delphi弹出信息框大全

    1. 警告信息框 MessageBox(Handle,'警告信息框','警告信息框',MB_ICONWARNING);2.疑问信息框 MessageBox(Handle,'疑问信息框','疑问信息框' ...

  9. 如何为分布式系统优雅的更换RPC

    为啥需要更换RPC? 很多小伙伴都遇到过需要为分布式系统调用更换RPC的问题,为什么会遇到这种事呢?其实,在系统搭建初期,需求简单,架构简单,最重要的是请求量也少,所以很多系统都采用快速原型开发模式, ...

  10. jquery form submit提交后无反应 不报错

    jquery form onSubmit默认返回false 因为页面添加了validate验证,在刷新页面后重新提交需要加上下一行代码 onSubmit:function() {return true ...