1 / 20

淘宝 PC 自动化测试框架 AutomanX 王超

淘宝 PC 自动化测试框架 AutomanX 王超. 测试平台与发展 --PC 自动化测试框架组. 概要. 项目简介 功能介绍 基础组件 核心构建 执行调度 框架特点 附录. PC 自动化测试框架组. 项目背景. Our aim is to make it perfect …. What ? AutomanX 是基于 iTest 与 Automan ,并融合前端测试方案的淘宝新生代 PC 自动化测试框架 Why ? 降低准入门槛: 统一测试用例开发语言至 Java 降低支持成本: 提供统一的 PC 自动化测试框架,避免多框架的维护 How ?

spence
Download Presentation

淘宝 PC 自动化测试框架 AutomanX 王超

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 淘宝PC自动化测试框架AutomanX王超 测试平台与发展--PC自动化测试框架组

  2. 概要 • 项目简介 • 功能介绍 • 基础组件 • 核心构建 • 执行调度 • 框架特点 • 附录 PC自动化测试框架组

  3. 项目背景 Our aim is to make it perfect … • What? • AutomanX是基于iTest与Automan,并融合前端测试方案的淘宝新生代PC自动化测试框架 • Why? • 降低准入门槛:统一测试用例开发语言至Java • 降低支持成本:提供统一的PC自动化测试框架,避免多框架的维护 • How? • 框架革新:丰富的数据准备、页面对象Jar包机制、Method级别调度、前端测试方案、Http测试、测试用例Junit结构化、数据工厂融合、Kelude平台调度等等 • 脚本向前兼容:提供工具将原来的Ruby脚本轻松批量转换成新形式 • 框架向前兼容:提供跟原来相似的API和编程思路使测试人员能平缓过渡到新框架使用 PC自动化测试框架组

  4. AutomanX功能简介 前端测试方案 Web UI测试 • 前端单元测试 • 功能自动化测试 • 前端交互测试 • Http请求测试 • 前端校验(Link、CSS) • WebX测试(类Spring Unit) 兼容性测试 API测试 • 浏览器同步工具 • 单元测试 • 功能自动化兼容性测试 • HSF接口测试 • JS兼容性测试 • Service测试 PC自动化测试框架组

  5. 基础组件 Module Component 基础组件 扩展组件 Core组件 Browser FileUtil Junit扩展 Element BrowserUtil DataDriver Selector LinkUtil Hsf Exception CSSUtil WebX Listeners ImageUtil Spring DbUnit PopWinUtil XmlToJava Assert Tddl Runner … CommonUtil PM System Mock Logger … … 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 调用 Runner 新建 Test Lab Agent分发调度 SVN用例更新 Build Job Job 执行 Agent监听 Job 日志推送至Kelude PC自动化测试框架组

  8. 框架特点 • 性能提升 • 全新的Method级别调度执行引擎 • Page Model业务线Jar包模式 • 无需运行时定制下载 • Java语言的先天优势 • 准入门槛 • 统一测试脚本开发语言 • 前端测试方案、API测试方案、Web UI测试方案融合,不同类型用例形式统一 • Kelude执行调度平台的无缝集成 • 全新的用户体验 • 类似接口测试的测试环境搭建 • 类似接口测试的执行调度 • 强大的 Eclipse • 与iTest无缝融合 • 用例结构与Junit完美统一 • 数据准备方案与iTest完美融合 • Maven项目的用例结构 PC自动化测试框架组

  9. 附录:前端测试方案概览 动态页面交互测试 前端单元测试 • 原理:AutomanX & Selenium-webdriver • 功能:页面元素功能验证;javascript模拟点击;异步校验 • 原理:基于jasmine-maven-plugin插件 • 功能:支持jasmine的单元测试 Link校验 CSS校验 • 原理:http webclient response • 功能:批量链接校验;死链接校验;期望链接配置性校验;链接高亮校验 • 原理:页面元素的属性值对比 • 功能:页面元素属性校验;页面元素Layout;样式校验 PC自动化测试框架组

  10. 附录:页面对象模型一 PC自动化测试框架组

  11. 附录:页面对象模型二 PC自动化测试框架组

  12. 附录:Web UI用例工程结构 • 典型的Maven项目 • A:测试用例基类 • B:测试类 • C:测试数据 • D:配置文件 • F:pom.xml PC自动化测试框架组

  13. 附录:Web UI用例结构 • 典型的Junit用例结构 • Script include Data • Script & Data PC自动化测试框架组

  14. 附录:用例日志 • XML日志结构,并与kelude平台无缝集成 PC自动化测试框架组

  15. 附录:Page Model Jar包 高 中 低 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臃肿,不建议使用优先级低的模式 PC自动化测试框架组

  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自动化测试框架组

  17. 附录:技术基础 Skilled in the following domains… • 为了更好的使用我们的整个框架,必须掌握的技能基础如下: • 编程语言: Java • 熟悉Html,了解各种页面元素的特点、用法; • 了解JavaScript脚本语言 • 了解JQuery之页面元素查找语法 • 了解数据库原理,能编写SQL语句; • 了解XML、 XPath、Ajax; • 了解使用编译工具Maven 、版本库工具SVN PC自动化测试框架组

  18. 附录:用例规范 Quality is everything … • 数据驱动:要做到流程和数据的分离 • 消除冗余:通过不断抽象,消除冗余 • 精简易读:测试用例应该尽量精简易读,避免复杂逻辑 • 健壮性:测试用例必须非常健壮,避免误报 • 用例规范:严格以java规范撰写测试用例代码 • 测试类:建议Web UI测试类撰写5个左右的测试方法,接口测试类撰写10个左右的测试方法 • 原子性:确保原子性设计用例,减少用例对其他环境的依赖 Tips … PC自动化测试框架组

  19. 附录:技术合作 Make it perfect together… • 我们提供了很完善的支持力度,也欢迎业务线小二贡献代码,合作促进框架建设: • 淘测试: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_操作手册 • 旺旺群:327482282 Tips … • 拥有4+子公司 • 拥有12+产品线 • 拥有2700+个用例(Web UI部分) PC自动化测试框架组

More Related