Web自动化框架LazyUI使用手册(7)--浏览器常用操作API
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的更多相关文章
- Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)
概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面 ...
- Web自动化框架LazyUI使用手册(2)--先跑起来再说(第一个测试用例-百度搜索)
作者:cryanimal QQ:164166060 上篇文章中,简要介绍了LazyUI框架,本文便来演示,如何从无到有快速搭建基于lazyUI的工程,并成功运行第一个测试用例. 本文以百度搜索为例,选 ...
- Web自动化框架LazyUI使用手册(1)--框架简介
作者:cryanimal QQ:164166060 web端自动化简介 web端自动化,即通过自动化的方式,对Web页面施行一系列的仿鼠标键盘操作,以达到对Web页面的功能进行自动化测试的目的. 其一 ...
- Web自动化框架LazyUI使用手册(5)--模板工程:LazyUI-template详解
概述: LazyUI-template: 提供Maven管理的,基于Spring+Testng的,包含常用浏览器driver的,方便连接各种数据库的java模板工程,并提供以百度搜索为例的第一个测试用 ...
- Web自动化框架LazyUI使用手册(4)--控件抓取工具Elements Extractor详解(批量抓取)
概述 前面的一篇博文详细介绍了单个控件抓取的设计思路&逻辑以及使用方法,本文将详述批量控件抓取功能. 批量抓取:打开一个web页面,遍历页面上所有能被抓取的元素,获得每个元素的iframe.和 ...
- Web自动化框架LazyUI使用手册(8)--excel数据驱动详解(ExcelDataProvider)
概述 框架提供了excel数据驱动方式运行测试用例的工具,本文将针对数据驱动,进行详细演示. 详见类:lazy.test.ui.browser.ExcelDataProvider 被测对象: http ...
- Web自动化框架LazyUI使用手册(6)--8种控件对应的class,及可对其进行的操作
概述: 本文详述8种控件对应的class,及可对其进行的操作 回顾: 回顾一下,下文中的工具设计思路部分: http://blog.csdn.net/kaka1121/article/details/ ...
- APP自动化框架LazyAndroid使用手册(3)--核心API介绍
作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204 ...
- 基于Selenium的web自动化框架
转自 : https://www.cnblogs.com/AlwinXu/p/5836709.html 1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台. ...
随机推荐
- 机器学习基石:02 Learning to Answer Yes/No
Perceptron Learning Algorithm 感知器算法, 本质是二元线性分类算法,即用一条线/一个面/一个超平面将1,2维/3维/4维及以上数据集根据标签的不同一分为二. 算法确定后, ...
- 用js来实现那些数据结构09(集合01-集合的实现)
说到集合,第一个想到的就是中学学到的那个数学概念:集合.在我们开始集合相关的js实现前,我们有必要来了解一下什么是集合以及集合的数学概念. 好吧,我们一起来复习一下早就被我们遗忘的集合. 集合是由一组 ...
- BZOJ4711 小奇挖矿
Description [题目背景] 小奇在喵星系使用了无限非概率驱动的采矿机,以至于在所有星球上都采出了一些矿石,现在它准备建一些矿石仓 库并把矿石运到各个仓库里. [问题描述] 喵星系有n个星球, ...
- [ZJOI2006]超级麻将
题目描述 很多人都知道玩麻将,当然也有人不知道,呵呵,不要紧,我在这里简要地介绍一下麻将规则: 普通麻将有砣.索.万三种类型的牌,每种牌有1~9个数字,其中相同的牌每个有四张,例如1砣~9砣,1索~9 ...
- [bzoj2648/2716]SJY摆棋子
平面上有n个点,要求支持插入一个点和查询一个点的最近点距离 n,m<=500000 用kdtree实现,但是复杂度貌似没法保证.....(莫名加了替罪羊重建更慢了...) #include< ...
- Ubuntu 16.04 LTS(入门一)国内快速更新软件源
一.源文件位置 备份并替换/etc/apt/sources.list的源内容: 二.更改源文件内容 sudo gedit /etc/apt/sources.list deb http://mirror ...
- TDMA over WiFi
0 引言 TDMA可以修正WiFi中DCF机制中连接速率不同终端间信道占用时间片公平性缺陷,从而提升整体WiFi网络的性能.著名的UBNT的网桥就用其独创的TDMA技术为其赢得了市场.以前是不同的公司 ...
- 测试修改gcs_server_processes参数
RAC部署前提是要求各节点的主机硬件一致的,但实际如果碰上一些不规范的客户,经费有限或是扩容时已买不到同样的机器,那么采购的机器会有一些区别,比如RAC各节点的CPU核数有区别,那么默认的gcs_se ...
- n个并发进程共用一个公共变量Q,写出用信号灯实现n个进程互斥的程序描述,给出信号灯值得取值范围,并说明每个取值范围的物理意义。
答: var mutex: semaphore:=1; begin cobegin process i : begin // i = 1,2,……,n repeat P(mutex); 对公共变量 ...
- iOS 搜索记录
需求描述: 使用单独的搜索界面, 提供用户进行搜索并留下搜索记录. 搜索记录可以提供用户进行再次搜索, 或者把搜索记录清空. 方案和技术点: 存储方式使用 NSUserDefaults, 把对应的字段 ...