More Related Content
Similar to Top100summit automan x之框架介绍 王超
Similar to Top100summit automan x之框架介绍 王超 (20)
Top100summit automan x之框架介绍 王超
- 2. 概要
� 项目简介
� 功能介绍
� 基础组件
� 核心构建
� 执行调度
� 框架特点
� 附录
PC自动化测试框架组
- 3. 项目背景
Our aim is to make it perfect …
� What?
What?
• AutomanX是基于iTest与Automan,并融合前端测试方案的淘宝新生代PC自动化测试框架
� Why?
Why?
• 降低准入门槛:
降低准入门槛:统一测试用例开发语言至Java
• 降低支持成本:
降低支持成本:提供统一的PC自动化测试框架,避免多框架的维护
� How?
How?
• 框架革新:
框架革新:丰富的数据准备、页面对象Jar包机制、Method级别调度、前端测试方案、Http
测试、测试用例Junit结构化、数据工厂融合、Kelude平台调度等等
• 脚本向前兼容:
脚本向前兼容:提供工具将原来的Ruby脚本轻松批量转换成新形式
• 框架向前兼容:
框架向前兼容:提供跟原来相似的API和编程思路使测试人员能平缓过渡到新框架使用
PC自动化测试框架组 3
- 4. AutomanX功能简介
前端测试方案 Web UI测试
UI测试
•前端单元测试 •功能自动化测试
•前端交互测试 •Http请求测试
•前端校验(Link、CSS) •WebX测试(类Spring Unit)
API测试
API测试 兼容性测试
•单元测试 •浏览器同步工具
•HSF接口测试 •功能自动化兼容性测试
•Service测试 • JS兼容性测试
PC自动化测试框架组
- 5. 基础组件
Module Component
基础组件 扩展组件 Core组件
Core组件
Browser FileUtil Junit扩展
Element BrowserUtil DataDriver
Selector LinkUtil Hsf
Exception CSSUtil WebX
Listeners ImageUtil Spring
XmlToJava PopWinUtil DbUnit
Runner Assert Tddl
… CommonUti
PM System l
Logger Mock
… …
PC自动化测试框架组
- 6. 核心组件
JMockit
DbUnit
Jasmine
Junit
Selenium 2.0
提炼思想
Surefire插件
JQuery
扩展开发
Data Driver
Page Model
Spring
Logger Analysis
WebX & Hsf
PC自动化测试框架组
- 7. 执行调度
�本地运行Eclipse环境下运行,类似Junit
�平台运行,主要应用Kelude执行调度引擎Agent
新建 Test Lab Agent分发调度 调用 Runner
SVN用例更新
Build Job
Agent监听 Job Job 执行
日志推送至Kelude
PC自动化测试框架组 7
- 8. 框架特点
准入门槛 性能提升
� 统一测试脚本开发语言 � 全新的Method级别调度执行引擎
� 前端测试方案、API测试方案、Web UI测试方 � Page Model业务线Jar包模式
案融合,不同类型用例形式统一 � 无需运行时定制下载
� Kelude执行调度平台的无缝集成 � Java语言的先天优势
与iTest无缝融合
iTest无缝融合 全新的用户体验
� 用例结构与Junit完美统一 � 类似接口测试的测试环境搭建
� 数据准备方案与iTest完美融合 � 类似接口测试的执行调度
� Maven项目的用例结构 � 强大的 Eclipse
PC自动化测试框架组 8
- 9. 附录:前端测试方案概览
前端单元测试 动态页面交互测试
原理
原理:基于jasmine-maven-plugin
•原理 原理:
•原理:AutomanX & Selenium-
插件 webdriver
功能
功能:
•功能 支持jasmine的单元测试 功能
功能:
•功能 页面元素功能验证;
javascript模拟点击;异步校验
CSS校验
CSS校验 Link校验
Link校验
原理
原理:
•原理 页面元素的属性值对比 原理
原理:
•原理 http webclient response
功能
功能:
•功能 页面元素属性校验;页面 功能
功能:
•功能 批量链接校验;死链接校
元素Layout;样式校验 验;期望链接配置性校验;链接高
亮校验
PC自动化测试框架组 9
- 15. 附录:Page Model Jar包
高 中 低
Jar模式 Non Jar模式 Non Jar SVN模式
�将Page Model打成Jar �无Page Model Jar包 �无Page Model Jar包
包,deploy到maven库 �将page model类文件 �Page model类文件上
�配置测试工程的 从page model系统下载 传的SVN
pom.xml,以引用之前 到当前测试工程 �将page model类文件
的Jar包 �Page model类文件无 从SVN下载到当前测
需上传的SVN 试工程
�优点:便于共享,
工程精简 �优点:流程简单 �优点:流程简单
�不足:流程繁杂 �不足:工程变大 �不足:SVN臃肿,
不利于Page Model维护
建议模式: 高
建议模式:用例开发完毕,Release时,建议使用优先级高的模式
�建议模式:
折衷模式: 中
折衷模式:开发过程中,可以使用中优先级模式
�折衷模式:
不建议模式: 低
不建议模式:开发方便,但是测试项目和SVN臃肿,不建议使用优先级低的模式
�不建议模式:
PC自动化测试框架组 15
- 16. 附录:Page Model Jar包
结构说明
�Base是根节点
�Buy是一个App
�CartBuy、BuyNow等是一个个项目
项目添加规则
�应用名.项目名.模块名,比如
MyTaobao.TeJia.Portal
调用说明:
�调用格式:projects =Buy.CartBuy, Buy.BuyNow, Buy
�调用分析:则会download CartBuy、BuyNow2个项目的
page model文件,Buy会被忽略,Buy就无需设置
PC自动化测试框架组 16
- 17. 附录:技术基础
Skilled in the following domains…
为了更好的使用我们的整个框架,必须掌握的技能基础如下:
� 编程语言: Java
� 熟悉Html,了解各种页面元素的特点、用法;
� 了解JavaScript脚本语言
� 了解JQuery之页面元素查找语法
� 了解数据库原理,能编写SQL语句;
� 了解XML、 XPath、Ajax;
� 了解使用编译工具Maven 、版本库工具SVN
PC自动化测试框架组 17
- 18. 附录:用例规范
Quality is everything …
Tips …
� 数据驱动:要做到流程和数据的分离
� 消除冗余:通过不断抽象,消除冗余
� 精简易读:测试用例应该尽量精简易读,避免复杂逻辑
� 健壮性:测试用例必须非常健壮,避免误报
� 用例规范:严格以java规范撰写测试用例代码
� 测试类:建议Web UI测试类撰写5个左右的测试方法,接口测试类撰写10个左右的
测试方法
� 原子性:确保原子性设计用例,减少用例对其他环境的依赖
PC自动化测试框架组
- 19. 附录:技术合作
Make it perfect together…
together…
Tips …
我们提供了很完善的支持力度,也欢迎业务线小二贡献代码,合作促进
框架建设:
�淘测试:http://taobaotesting.com/blogs/2226
�问答系统: http://kelude2.taobao.net/faq/query_faq.htm?typeId=12
� 框架介绍: 10.232.23.62软件备份PC自动化框架组1_AutomanX0_框架介绍
� 用例规范与操作手册: 10.232.23.62软件备份PC自动化框架组1_AutomanX1_操作手册
327482282
� 旺旺群:327482282 �拥有4+子公司
�拥有12+产品线
�拥有2700+个用例(Web
UI部分)
PC自动化测试框架组