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

来源:互联网 发布:sql建立数据库用户 编辑:程序博客网 时间:2024/05/01 08:24

 概述:

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,快速上手;

 

工程详解:

image

 

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

简单分为三层:

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

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

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

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

 

重要配置文件prop.properties说明

image

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解析

image

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

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

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

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

提供logger,方便地输出日志

 

TODO

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

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

。。。

 

image

0 0
原创粉丝点击