Web自动化框架LazyUI使用手册(1)--框架简介
作者:cryanimal QQ:164166060
web端自动化简介
web端自动化,即通过自动化的方式,对Web页面施行一系列的仿鼠标键盘操作,以达到对Web页面的功能进行自动化测试的目的。
其一般过程如下图所示:

web端自动化常用工具简介
web端自动化测试通常用QTP或者Selenium。
QTP,商业工具(收费),笨重,但是功能强大,易上手,是一套完整的自动化解决方案,且适用于C/S,B/S结构。最大的缺点是VBS语法体系,不太适合写大项目,而且效率低,所以QTP现在很容易被代替。
Selenium,开源工具,轻量级,适合多种语言编写,能在多种主流浏览器上运行,但是只支持B/S系统,且需要一定的编程基础,上手比较难。
web端自动化难点分析
1. 一定的编码能力门槛。搭建测试框架、熟悉selenium API、成功启动浏览器、熟悉前端等,往往会把新人拦在门槛外;
2. 控件(元素)获取工作量大、繁杂。WEB自动化大量工作集中在“获取测试所需页面元素的Xpath”,以及“校验获取Xpath是否能唯一定位元素”;
3. 测试用例稳定性低。因浏览器厂商和版本不同、web端UI的多变导致的XPATH不稳定等因素,导致测试用例也不稳定,测试用例本身问题多于发现的bug,维护成本高;
LazyUI框架简介
LazyUI致力于解决以上三个难点,降低入门门槛和学习成本,简化元素获取&编码工作,提高测试用例运行稳定性,从而达到快速简洁地完成web端自动化工作的目的。
LazyUI基于selenium,由三部分组成:

1. 元素获取插件:Elements Extractor
Chrome插件,用于抓取页面上的常用控件(可批量或单个抓取),生成基于LazyUI框架的Java代码,解决繁杂的元素的获取问题。
获取地址:https://github.com/lazytest/LazyTest-Elements-Extractor/archive/master.zip
解压后将文件:LazyTestElementsExtractor.crx 拖拽至chrome安装即可使用。
2. 浏览器操作API:LazyUI-API
提供模拟鼠标键盘在浏览器上操作的常用方法(如打开某浏览器、跳转到URL,切换窗口,切换iframe,在元素上输入、选择、点击,获取元素的属性、文本等)。
下载3中的工程模板,maven会自动引入。
或者在POM中增加资源:
<repositories>
<repository>
<id>lazytest</id>
<url>https://raw.githubusercontent.com/lazytest/mvn-repo/master/</url>
</repository>
</repositories>
并增加依赖:
<dependency>
<groupId>lazy.test</groupId>
<artifactId>lazy-test-tools</artifactId>
<version>1.0.0</version>
</dependency>
3. 模板工程:LazyUI-template
提供Maven管理的,基于Spring+Testng的,包含常用浏览器driver的,方便连接各种数据库的java模板工程,并提供以百度搜索为例的第一个测试用例。
获取地址:https://github.com/lazytest/LazyTest-UI-Template/archive/master.zip
小结
本文简单介绍了LazyUI框架,后续文章会手把手详解LazyUI的入手使用,欢迎继续阅读。
Web自动化框架LazyUI使用手册(1)--框架简介的更多相关文章
- Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)
概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面 ...
- Web自动化框架LazyUI使用手册(2)--先跑起来再说(第一个测试用例-百度搜索)
作者:cryanimal QQ:164166060 上篇文章中,简要介绍了LazyUI框架,本文便来演示,如何从无到有快速搭建基于lazyUI的工程,并成功运行第一个测试用例. 本文以百度搜索为例,选 ...
- Web自动化框架LazyUI使用手册(4)--控件抓取工具Elements Extractor详解(批量抓取)
概述 前面的一篇博文详细介绍了单个控件抓取的设计思路&逻辑以及使用方法,本文将详述批量控件抓取功能. 批量抓取:打开一个web页面,遍历页面上所有能被抓取的元素,获得每个元素的iframe.和 ...
- Web自动化框架LazyUI使用手册(7)--浏览器常用操作API
LazyUI框架中,BrowserEmulator类提供了大量的浏览器操作,常用的API列举如下: 1. 基本操作 /** * Open the URL * 打开一个URL * @param ur ...
- Web自动化框架LazyUI使用手册(5)--模板工程:LazyUI-template详解
概述: LazyUI-template: 提供Maven管理的,基于Spring+Testng的,包含常用浏览器driver的,方便连接各种数据库的java模板工程,并提供以百度搜索为例的第一个测试用 ...
- 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/ ...
- Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. Koa -- 基于 Node.js 平台的下 ...
- Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...
随机推荐
- WIN7 清除任务栏图标缓存
如果任务栏上锁定程序如果换了位置,如:剪切走了.图标会变成白色图标. 解决方法: rem 关闭Windows外壳程序explorer taskkill /f /im explorer.exe rem ...
- MySQL计算时间差
MySQL计算两个日期的时间差函数:TIMESTAMPDIFF 语法: TIMESTAMPDIFF(interval, datetime_expr1, datetime_expr2) interval ...
- 战胜忧虑<1>——不要让忧郁侵入你的生活
1.不要让忧郁侵入你的生活. 备注:忧郁:一种情绪与心理状态,指一个人呈现哀伤.心情低落的状况,绝望与沮丧为其特色. 解决方法:奥斯勒博士说的那样:用铁门把过去和未来隔断,生活在完全独立的今天. 现在 ...
- erlang和java通信
连接在 https://guts.me/2014/07/27/erlang-communicates-with-java/ 代码在 https://github.com/mingshun/jinter ...
- AngularJS PhoneCat代码分析
转载自:http://www.tuicool.com/articles/ym6Jfen AngularJS 官方网站提供了一个用于学习的示例项目:PhoneCat.这是一个Web应用,用户可以浏览一些 ...
- c++随机数生成
算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子.(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535, ...
- HashMap 实现原理(复习)
1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1 ...
- int long long范围
unsigned int 0-4294967295 int 2147483648-2147483647 unsigned long 0-4294967295long 2147483 ...
- Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)
前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...
- php判断用户客户端是否是微信内置客户端
微信内置浏览器的渲染方式在某些方面和其他浏览器不同,所以有时候需要做一些兼容性处理,那么就需要判断是否是微信内置浏览器.最好的判断方式就是通过 User Agent 来判断. 工具/原料 php ...