概述:

LazyUI-template:

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

获取地址:https://github.com/lazytest/LazyTest-UI-Template/archive/master.zip

愿景:

1. 降低基于selenium的web测试工程搭建门槛;

2. 引入必要和好用的jar包依赖;

3. 提供良好的代码分层、配置文件提取、友好的日志,增加可读性和可维护性;

4. 提供基础测试父类和测试demo,快速上手;

工程详解:

如上图所示,大部分看图就很清晰了,此处再提一下分层:

简单分为三层:

1. bean:用于存放,且只存放web端页面控件,如果某个控件(xpath或frame等)有变动,只需修改此层代码即可;

2. page:以一个页面,或页面的局部为一个class,用于将bean层的控件组装成具体的操作,如输入用户名密码,并点击登录按钮;

3. test:用于存放具体的测试用例,构造数据,输入数据,组合page层的操作完成页面操作,再完成具体的结果校验和数据清理;

分层的目的还是为了提高代码的可读性、可维护性。

重要配置文件prop.properties说明

BrowserCoreType

上图说得很明确:

# 1 => FireFox

# 2 => Chrome

# 3 => IE

# 4 => Safari

目前只支持这四种浏览器,且浏览器需要安装在默认路径,暂时还不支持配置,后续可升级。

Drivers' path

这个已经配置好了,FireFox和Safari不需要driver,最新版本的selenium支持最新版本的Firefox,如果启动不起来,说明版本有问题。

本工程模板中自带的driver支持 chrome 46.0以上,IE8以上。

Timeout和StepInterval

Timeout:本框架获取控件时加入了重试机制,当然不是无限制重试下去,此为重试超时时间的配置(单位:millisecond)

StepInterval:每次重试间隔的时间(单位:millisecond)

Pause

因为程序运行太快,我们想观察程序,眼睛可能看不过来,所以有此配置

此配置为每一步操作前,均暂停的时间(单位:millisecond)

测试基类BaseTestCase解析

继承AbstractTestNGSpringContextTests,用springtest来管理测试用例。

默认spring配置文件为:classpath*:/spring/spring-test.xml

class内保证浏览器为单例,每次运行case前,判断浏览器是否已经被打开

Suite运行结束后,保证浏览器被关闭

提供logger,方便地输出日志

TODO

可将浏览器安装路径配置化

可支持浏览器启动参数配置,如支持代理等

。。。

Web自动化框架LazyUI使用手册(5)--模板工程:LazyUI-template详解的更多相关文章

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

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

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

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

  3. APP自动化框架LazyAndroid使用手册(2)--元素自动抓取

    作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...

  4. web自动化框架如何设计

    web自动化框架如何设计po模式总结: 1. 页面对象模型:当页面特别多的时候,代码更好的维护 2. Po是pageObject设计模式,用来管理和维护一组web元素的对象库 3. 每一个page c ...

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

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

  6. 基于Selenium的Web自动化框架增强篇

    在写完上一篇“基于Selenium的Web自动化框架”(http://www.cnblogs.com/AlwinXu/p/5836709.html)之后一直没有时间重新审视该框架,正好趁着给同事分享的 ...

  7. 【转】基于Selenium的web自动化框架(python)

    1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.Sel ...

  8. web缓存服务器varnish-4.1.6的部署及配置详解

    web缓存服务器varnish-4.1.6的部署及配置详解 1.安装varnish4.1.6安装依赖 yum install -y autoconf automake jemalloc-devel l ...

  9. laravel 框架配置404等异常页面的方法详解(代码示例)

    本篇文章给大家带来的内容是关于laravel 框架配置404等异常页面的方法详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在Laravel中所有的异常都由Handl ...

  10. 《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)

    1.简介 为了方便查看和归档:(1)不同包的日志可能要放到不同的文件中,如service层和dao层的日志:(2)不同日志级别:调试.信息.警告和错误等也要分文件输出.所以宏哥今天主要介绍和分享的是: ...

随机推荐

  1. java创建线程的三种方法

    这里不会贴代码,只是将创建线程的三种方法做个笼统的介绍,再根据源码添加上自己的分析. 通过三种方法可以创建java线程: 1.继承Thread类. 2.实现Runnable接口. 3.实现Callab ...

  2. JavaScript数据结构与算法(五) 数组基础算法

  3. java四种访问控制权限:public ,default,protected,private

    四种访问权限的控制 范围 private default protected  public 同一个类中 √ √ √ √ 相同包不同类 × √ √ √ 不同包的子类中 × × √ √ 不同包非子类 × ...

  4. 6.QT-简易计算器实现(详解)

    界面展示 1.用户界面类设计 需要使用QWidget组件作为顶层窗口,QLineEdit组件作为输入框,QPsuhButton作为按钮 1.1 在代码里处理按键消息时,需要处理下用户输入的格式(方便逻 ...

  5. [Codeforces 505C]Mr. Kitayuta, the Treasure Hunter

    Description The Shuseki Islands are an archipelago of 30001 small islands in the Yutampo Sea. The is ...

  6. GCD(ZYYS)

    [问题描述]在山的那边.海的那边有 n 个小矮人,他们生存的意义就是要保护他们的精神领袖——GCD.有一天,他们收到了一封恐吓信,说要在一个遥远的地方用维纳斯之箭射击 GCD,让他变成一根面条,n 个 ...

  7. ●UVA 10652 Board Wrapping

    题链: https://vjudge.net/problem/UVA-10652 题解: 计算几何,Andrew求凸包, 裸题...(数组开小了,还整了半天...) 代码: #include<c ...

  8. 2015 多校联赛 ——HDU5416(异或)

    CRB has a tree, whose vertices are labeled by 1, 2, …, N. They are connected by N – 1 edges. Each ed ...

  9. ●BZOJ 2669 [cqoi2012]局部极小值

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2669 题解: 容斥,DP,DFS 先看看 dp 部分:首先呢,X的个数不会超过 8个.个数很 ...

  10. poj 1265 Area 面积+多边形内点数

    Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5861   Accepted: 2612 Description ...