作者: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的入手使用,欢迎继续阅读。

最新文章

  1. 一网打尽当下NoSQL类型、适用场景及使用公司
  2. 文件夹差异文件对比工具 meld
  3. 汇编debug 截图2
  4. edmbed system----ecos
  5. bzoj1412
  6. GitHub使用说明
  7. JavaScript中prompt()函数的用法。
  8. [Git]01 如何安装和配置
  9. Keep-Alive 是什么?
  10. Kotlin从入门到放弃
  11. react native 键盘弹起时必须点击两次才能成功
  12. numactl 修改 非统一内存访问架构 NUMA(Non Uniform Memory Access Architecture)模式
  13. c#:判断一个数组元素中否有重复元素
  14. 探索MVP(Model-View-Presenter)设计模式在SharePoint平台下的实现
  15. sublime在混杂的log数据中提取你想要的内容
  16. Centos 升级 python
  17. linux(模糊批量删除文件)删除指定文件夹中某个文件除外的其他文件
  18. 手把手教你使用webpack搭建vue框架
  19. Android长截屏-- ScrollView,ListView及RecyclerView截屏
  20. Python3 字符串操作

热门文章

  1. JS使用百度地图API
  2. 【Struts2学习笔记-3】常量配置
  3. Akka(一) - akka的wordcount
  4. [Bug-IOS] - linker command failed with exit code 1 (use -v to see invocation)
  5. [hibernate]基本值类型映射之日期类型
  6. HTTP协议与HTTPS的区别
  7. dede忽略错误
  8. suibi1117
  9. JAVA实例,判断是否是瑞年
  10. Struts2返回JSON对象的方法总结