Top100summit automan x之框架介绍 王超

Post on 29-Jul-2015

177 views 4 download

Transcript of Top100summit automan x之框架介绍 王超

淘宝PC自动化测试框架AutomanX

王超

测试平台与发展--PC自动化测试框架组

概要

� 项目简介� 功能介绍� 基础组件� 核心构建� 执行调度� 框架特点� 附录

PC自动化测试框架组

3

项目背景

� WhatWhatWhatWhat????• AutomanX是基于iTest与Automan,并融合前端测试方案的淘宝新生代PC自动化测试框架

� WhyWhyWhyWhy???? • 降低准入门槛:降低准入门槛:降低准入门槛:降低准入门槛:统一测试用例开发语言至Java• 降低支持成本:降低支持成本:降低支持成本:降低支持成本:提供统一的PC自动化测试框架,避免多框架的维护

� HowHowHowHow???? • 框架革新:框架革新:框架革新:框架革新:丰富的数据准备、页面对象Jar包机制、Method级别调度、前端测试方案、Http

测试、测试用例Junit结构化、数据工厂融合、Kelude平台调度等等• 脚本向前兼容:脚本向前兼容:脚本向前兼容:脚本向前兼容:提供工具将原来的Ruby脚本轻松批量转换成新形式• 框架向前兼容:框架向前兼容:框架向前兼容:框架向前兼容:提供跟原来相似的API和编程思路使测试人员能平缓过渡到新框架使用

PC自动化测试框架组

Our aim is to make it perfectperfectperfectperfect …

AutomanX功能简介

PC自动化测试框架组

•前端单元测试•前端交互测试•前端校验(Link、CSS)

前端测试方案前端测试方案前端测试方案前端测试方案•功能自动化测试•Http请求测试•WebX测试(类Spring Unit)

Web UIWeb UIWeb UIWeb UI测试测试测试测试

•单元测试•HSF接口测试•Service测试

APIAPIAPIAPI测试测试测试测试•浏览器同步工具•功能自动化兼容性测试• JS兼容性测试

兼容性测试兼容性测试兼容性测试兼容性测试

基础组件

Module Component

基础组件基础组件基础组件基础组件BrowserElementSelector

Exception

扩展组件扩展组件扩展组件扩展组件FileUtil

BrowserUtilLinkUtilCSSUtil

ImageUtilListenersPopWinUtil

AssertXmlToJava

Runner

CoreCoreCoreCore组件组件组件组件Junit扩展

DataDriver

HsfWebXSpring

DbUnit

TddlCommonUti

lMock

…PM System

Logger

PC自动化测试框架组

核心组件

Selenium 2.0

Surefire插件

Junit

JQuery

DbUnit

PC自动化测试框架组

Jasmine

Page Model

Spring

扩展开发

提炼思想

Data Driver

Logger Analysis

WebX & Hsf

JMockit

7

执行调度�本地运行Eclipse环境下运行,类似Junit�平台运行,主要应用Kelude执行调度引擎Agent

调用 Runner

Agent监听 Job Job 执行

SVN用例更新

Build Job

日志推送至Kelude

新建 Test Lab Agent分发调度

PC自动化测试框架组

8

准入门槛准入门槛准入门槛准入门槛� 统一测试脚本开发语言� 前端测试方案、API测试方案、Web UI测试方

案融合,不同类型用例形式统一� Kelude执行调度平台的无缝集成

性能提升性能提升性能提升性能提升�全新的Method级别调度执行引擎� Page Model业务线Jar包模式�无需运行时定制下载� Java语言的先天优势

与与与与iTestiTestiTestiTest无缝融合无缝融合无缝融合无缝融合� 用例结构与Junit完美统一� 数据准备方案与iTest完美融合� Maven项目的用例结构

全新的用户体验全新的用户体验全新的用户体验全新的用户体验� 类似接口测试的测试环境搭建� 类似接口测试的执行调度� 强大的 Eclipse

框架特点

PC自动化测试框架组

9

附录:前端测试方案概览

前端单元测试前端单元测试前端单元测试前端单元测试 动态页面交互测试动态页面交互测试动态页面交互测试动态页面交互测试

LinkLinkLinkLink校验校验校验校验CSSCSSCSSCSS校验校验校验校验

•原理原理原理原理:基于jasmine-maven-plugin插件•功能功能功能功能:支持jasmine的单元测试

•原理:原理:原理:原理:AutomanX & Selenium-webdriver•功能功能功能功能:页面元素功能验证;javascript模拟点击;异步校验

•原理原理原理原理:http webclient response•功能功能功能功能:批量链接校验;死链接校验;期望链接配置性校验;链接高亮校验

•原理原理原理原理:页面元素的属性值对比•功能功能功能功能:页面元素属性校验;页面元素Layout;样式校验

PC自动化测试框架组

附录:页面对象模型一

PC自动化测试框架组

附录:页面对象模型二

PC自动化测试框架组

附录:Web UI用例工程结构

�典型的Maven项目

� A:A:A:A:测试用例基类� B:B:B:B:测试类� C:C:C:C:测试数据� D:D:D:D:配置文件� F:F:F:F:pom.xml

PC自动化测试框架组

13

附录:Web UI用例结构

�典型的Junit用例结构

�Script include Data�Script & Data

PC自动化测试框架组

14

附录:用例日志

�XML日志结构,并与kelude平台无缝集成

PC自动化测试框架组

15

附录:Page Model Jar包

PC自动化测试框架组

Jar模式 Non Jar模式 Non Jar SVN模式

�将Page Model打成Jar包,deploy到maven库�配置测试工程的pom.xml,以引用之前的Jar包

�优点:便于共享,工程精简�不足:流程繁杂

�无Page Model Jar包�将page model类文件从page model系统下载到当前测试工程�Page model类文件无需上传的SVN

�优点:流程简单�不足:工程变大

�无Page Model Jar包�Page model类文件上传的SVN�将page model类文件从SVN下载到当前测试工程

�优点:流程简单�不足:SVN臃肿,不利于Page Model维护

高高高高 低低低低中中中中

�建议模式:建议模式:建议模式:建议模式:用例开发完毕,Release时,建议使用优先级高高高高的模式�折衷模式:折衷模式:折衷模式:折衷模式:开发过程中,可以使用中中中中优先级模式�不建议模式:不建议模式:不建议模式:不建议模式:开发方便,但是测试项目和SVN臃肿,不建议使用优先级低低低低的模式

16

附录:Page Model Jar包

PC自动化测试框架组

结构说明结构说明结构说明结构说明�Base是根节点�Buy是一个App�CartBuy、BuyNow等是一个个项目

项目添加规则项目添加规则项目添加规则项目添加规则�应用名.项目名.模块名,比如MyTaobao.TeJia.Portal

调用说明:调用说明:调用说明:调用说明:�调用格式:projects =Buy.CartBuy, Buy.BuyNow, Buy�调用分析:则会download CartBuy、BuyNow2个项目的page model文件,Buy会被忽略,Buy就无需设置

17

附录:技术基础

为了更好的使用我们的整个框架,必须掌握的技能基础如下:

� 编程语言: Java� 熟悉Html,了解各种页面元素的特点、用法;� 了解JavaScript脚本语言� 了解JQuery之页面元素查找语法� 了解数据库原理,能编写SQL语句;� 了解XML、 XPath、Ajax;� 了解使用编译工具Maven 、版本库工具SVN

PC自动化测试框架组

Skilled in the following domains…

附录:用例规范

� 数据驱动:数据驱动:数据驱动:数据驱动:要做到流程和数据的分离� 消除冗余:消除冗余:消除冗余:消除冗余:通过不断抽象,消除冗余� 精简易读:精简易读:精简易读:精简易读:测试用例应该尽量精简易读,避免复杂逻辑� 健壮性:健壮性:健壮性:健壮性:测试用例必须非常健壮,避免误报� 用例规范:用例规范:用例规范:用例规范:严格以java规范撰写测试用例代码� 测试类:测试类:测试类:测试类:建议Web UI测试类撰写5个左右的测试方法,接口测试类撰写10个左右的

测试方法� 原子性原子性原子性原子性::::确保原子性设计用例,减少用例对其他环境的依赖

Tips …

PC自动化测试框架组

Quality is everything Quality is everything Quality is everything Quality is everything …………

附录:技术合作

我们提供了很完善的支持力度,也欢迎业务线小二贡献代码,合作促进框架建设: �淘测试:http://taobaotesting.com/blogs/2226 �问答系统: http://kelude2.taobao.net/faq/query_faq.htm?typeId=12

� 框架介绍: \\10.232.23.62\软件备份\PC自动化框架组\1_AutomanX\0_框架介绍

� 用例规范与操作手册: \\10.232.23.62\软件备份\PC自动化框架组\1_AutomanX\1_操作手册

� 旺旺群:327482282327482282327482282327482282

PC自动化测试框架组

Make it perfect togetherMake it perfect togetherMake it perfect togetherMake it perfect together…………Tips …

�拥有4+子公司�拥有12+产品线�拥有2700+个用例(Web UI部分)

2012-12-20