作者: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)--框架简介的更多相关文章

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

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

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

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

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

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

  4. Web自动化框架LazyUI使用手册(7)--浏览器常用操作API

      LazyUI框架中,BrowserEmulator类提供了大量的浏览器操作,常用的API列举如下: 1. 基本操作 /** * Open the URL * 打开一个URL * @param ur ...

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

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

  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. Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档

    我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. Koa -- 基于 Node.js 平台的下 ...

  9. Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)

    标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...

随机推荐

  1. SQL SERVER 组内排序

    取出每组的第一个 select *from (select * ,RANK ( ) OVER( PARTITION by org order by reportcode asc) PartionNum ...

  2. 08 Linux下MySQL的下载、安装及启动

    测试环境 主机系统:Win7 64位 虚拟机:VMware® Workstation 11.1.0 虚拟机系统:CentOS 6.5 64位   Kernel 2.6.32-431.e16.x86_6 ...

  3. "unresolved external symbol __imp__WSACleanup@0"

    编译时出现这种问题怎么解决:"unresolved external symbol __imp__WSACleanup@0"出现此类问题一般是ws2_32.lib这个lib没有li ...

  4. JavaScript对象 属性

    1.ES中的对象是完全动态的,这意味着,在程序执行的时候我们可以任意的添加,修改或删除对象的属性. var stu = { ID: 1 }; //添加新属性 stu.Name = 'ck'; cons ...

  5. 黄聪:simple_html_dom 换行符丢失

    我在利用simple_html_dom来解析文档是,想要将其中的换行符替换成<BR> , 结果试了好几次没有成功,但是在原始文档中确实是有换行符的.后来索性把装载进来的文档打印出来,结果发 ...

  6. UDP程序设计

        UDP是不可靠的连接,广泛应用于各种聊天工具     使用UDP发送的信息,对方不一定会接收到.所有的信息使用数据报的形式发送出去,这就要求客户端要始终等待服务器发送的信息才能进行接收.在Ja ...

  7. WindowsForm应用程序调用WebService

    本文原创,如需转载,请标明源地址,谢谢合作!http://blog.csdn.net/sue_1989/article/details/6597078 本文的编写IDE为VSTS2008和.NET F ...

  8. mapreduce任务中Shuffle和排序的过程

    mapreduce任务中Shuffle和排序的过程 流程分析: Map端: 1.每个输入分片会让一个map任务来处理,默认情况下,以HDFS的一个块的大小(默认为64M)为一个分片,当然我们也可以设置 ...

  9. $.extend()和$.fn.extend()用法和区别

    $.extend()和$.fn.extend()用法和区别: 在自己制作插件的时候会经常用到$.extend()和$.fn.extend()两个函数,无论从外观还是作用都非常的类似,但是实际上它们的区 ...

  10. Java反射机制探秘

    如何获得Class对象     1.针对每一个对象.getCalss(),可以得到对应的Class. 2.Class.forName(String),String的写法:包名.类名.就会创建包名.类名 ...