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,快速上手;
工程详解:
如上图所示,大部分看图就很清晰了,此处再提一下分层:
简单分为三层:
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详解
- Web自动化框架LazyUI使用手册(1)--框架简介
- Web自动化框架LazyUI使用手册(4)--控件抓取工具Elements Extractor详解(批量抓取)
- Web自动化框架LazyUI使用手册(8)--excel数据驱动详解(ExcelDataProvider)
- Web自动化框架LazyUI使用手册(7)--浏览器常用操作API
- Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)
- Web自动化框架LazyUI使用手册(2)--先跑起来再说(第一个测试用例-百度搜索)
- Web自动化框架LazyUI使用手册(6)--8种控件对应的class,及可对其进行的操作
- APP自动化框架LazyAndroid使用手册(4)--测试模板工程详解
- APP自动化框架LazyAndroid使用手册(4)--测试模板工程详解
- APP自动化框架LazyAndroid使用手册(2)--元素自动抓取
- APP自动化框架LazyAndroid使用手册(3)--核心API介绍
- web工程中实现spring框架工程详解
- Robot Framework自动化测试框架(二):WEB自动化
- Web自动化测试框架
- Web自动化框架搭建
- Selenium Web 自动化框架
- Template(模板)
- react native 视图
- 面试题目
- 03_源码编译
- 用javascript正则表达式判断一个串是否存在特殊字符
- Linux下vi命令大全以及vi语法高亮
- Web自动化框架LazyUI使用手册(5)--模板工程:LazyUI-template详解
- GET POST方法长度限制
- 利用JDBC连接MySQL数据库
- C++ 编程题练习-整数的输出格式(7-3)
- 微信支付
- 自定义View之小细节
- AE的QuickTime问题
- 自定义Toast
- 安卓学习路线参考