SlideShare a Scribd company logo
1 of 21
Download to read offline
淘宝PC自动化测试框架AutomanX

                      王超




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

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




PC自动化测试框架组
项目背景

                        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
AutomanX功能简介

      前端测试方案              Web UI测试
                              UI测试
   •前端单元测试            •功能自动化测试
   •前端交互测试            •Http请求测试
   •前端校验(Link、CSS)    •WebX测试(类Spring Unit)


        API测试
        API测试             兼容性测试
   •单元测试              •浏览器同步工具
   •HSF接口测试           •功能自动化兼容性测试
   •Service测试         • JS兼容性测试




PC自动化测试框架组
基础组件
                   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自动化测试框架组
核心组件
          JMockit
          DbUnit
          Jasmine
             Junit
        Selenium 2.0
                             提炼思想
        Surefire插件
                              JQuery
         扩展开发
                           Data Driver
                           Page Model
                              Spring
                          Logger Analysis
                           WebX & Hsf


PC自动化测试框架组
执行调度
  �本地运行Eclipse环境下运行,类似Junit
  �平台运行,主要应用Kelude执行调度引擎Agent



     新建 Test Lab    Agent分发调度       调用 Runner


                                    SVN用例更新


                                     Build Job


                     Agent监听 Job     Job 执行


                                   日志推送至Kelude




PC自动化测试框架组                                       7
框架特点

准入门槛                         性能提升
� 统一测试脚本开发语言                 � 全新的Method级别调度执行引擎
� 前端测试方案、API测试方案、Web UI测试方   � Page Model业务线Jar包模式
  案融合,不同类型用例形式统一             � 无需运行时定制下载
� Kelude执行调度平台的无缝集成          � Java语言的先天优势




与iTest无缝融合
 iTest无缝融合                   全新的用户体验
� 用例结构与Junit完美统一             � 类似接口测试的测试环境搭建
� 数据准备方案与iTest完美融合           � 类似接口测试的执行调度
� Maven项目的用例结构               � 强大的 Eclipse




PC自动化测试框架组                                           8
附录:前端测试方案概览

         前端单元测试                     动态页面交互测试
    原理
    原理:基于jasmine-maven-plugin
   •原理                           原理:
                                •原理:AutomanX & Selenium-
   插件                           webdriver
    功能
    功能:
   •功能 支持jasmine的单元测试            功能
                                  功能:
                                •功能 页面元素功能验证;
                                javascript模拟点击;异步校验



            CSS校验
            CSS校验                        Link校验
                                         Link校验
    原理
    原理:
   •原理 页面元素的属性值对比                原理
                                 原理:
                                •原理 http webclient response
    功能
    功能:
   •功能 页面元素属性校验;页面               功能
                                 功能:
                                •功能 批量链接校验;死链接校
   元素Layout;样式校验                验;期望链接配置性校验;链接高
                                亮校验




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




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




PC自动化测试框架组
附录:Web UI用例工程结构

 �典型的Maven项目




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




PC自动化测试框架组
附录:Web UI用例结构

 �典型的Junit用例结构




                       �Script include Data
                       �Script & Data




PC自动化测试框架组                                    13
附录:用例日志

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




PC自动化测试框架组                 14
附录: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
附录: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
附录:技术基础

                  Skilled in the following domains…

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


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




PC自动化测试框架组                                            17
附录:用例规范

                      Quality is everything …
       Tips …


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




PC自动化测试框架组
附录:技术合作

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

More Related Content

What's hot

Entity Framework實戰
Entity Framework實戰Entity Framework實戰
Entity Framework實戰國昭 張
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化taobao.com
 
图片管理Java迁移项目测试总结
图片管理Java迁移项目测试总结图片管理Java迁移项目测试总结
图片管理Java迁移项目测试总结Ryan YU
 
Java 1(Java概述)
Java 1(Java概述)Java 1(Java概述)
Java 1(Java概述)xzdbd
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)Will Huang
 
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Hazem Saleh
 
03.wls depoly jdbc
03.wls depoly jdbc03.wls depoly jdbc
03.wls depoly jdbcMeng He
 
Clipper@datacon.2019.tw
Clipper@datacon.2019.twClipper@datacon.2019.tw
Clipper@datacon.2019.twWei-Yu Chen
 
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1twMVC
 
Entity framework + Linq 介紹
Entity framework + Linq 介紹Entity framework + Linq 介紹
Entity framework + Linq 介紹Alan Tsai
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践taobao.com
 
Workflow Overview
Workflow OverviewWorkflow Overview
Workflow OverviewKevin Cao
 
实战Ejb(最终完美版)
实战Ejb(最终完美版)实战Ejb(最终完美版)
实战Ejb(最终完美版)yiditushe
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdfbj_qa
 
数据库持续集成
数据库持续集成数据库持续集成
数据库持续集成wait4friend
 
Maven in eclipse practices
Maven in eclipse practicesMaven in eclipse practices
Maven in eclipse practicesPei-Tang Huang
 
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式Will Huang
 
谈谈模块化
谈谈模块化谈谈模块化
谈谈模块化衡锋 阳
 

What's hot (20)

Entity Framework實戰
Entity Framework實戰Entity Framework實戰
Entity Framework實戰
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
 
图片管理Java迁移项目测试总结
图片管理Java迁移项目测试总结图片管理Java迁移项目测试总结
图片管理Java迁移项目测试总结
 
Java 1(Java概述)
Java 1(Java概述)Java 1(Java概述)
Java 1(Java概述)
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
 
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
 
03.wls depoly jdbc
03.wls depoly jdbc03.wls depoly jdbc
03.wls depoly jdbc
 
Clipper@datacon.2019.tw
Clipper@datacon.2019.twClipper@datacon.2019.tw
Clipper@datacon.2019.tw
 
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
 
Entity framework + Linq 介紹
Entity framework + Linq 介紹Entity framework + Linq 介紹
Entity framework + Linq 介紹
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践
 
Workflow Overview
Workflow OverviewWorkflow Overview
Workflow Overview
 
实战Ejb(最终完美版)
实战Ejb(最终完美版)实战Ejb(最终完美版)
实战Ejb(最终完美版)
 
單元測試
單元測試單元測試
單元測試
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
 
数据库持续集成
数据库持续集成数据库持续集成
数据库持续集成
 
Xpp
XppXpp
Xpp
 
Maven in eclipse practices
Maven in eclipse practicesMaven in eclipse practices
Maven in eclipse practices
 
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
 
谈谈模块化
谈谈模块化谈谈模块化
谈谈模块化
 

Viewers also liked

Simon brown archsummit2012 the-frustrated-architect
Simon brown archsummit2012 the-frustrated-architectSimon brown archsummit2012 the-frustrated-architect
Simon brown archsummit2012 the-frustrated-architectdrewz lin
 
!Sim high gravitydistributed
!Sim high gravitydistributed!Sim high gravitydistributed
!Sim high gravitydistributeddrewz lin
 
Youku arch qcon2009_beijing
Youku arch qcon2009_beijingYouku arch qcon2009_beijing
Youku arch qcon2009_beijingdrewz lin
 
微信201204
微信201204微信201204
微信201204drewz lin
 
Big visible journey to agility agile 2012-0
Big visible   journey to agility agile 2012-0Big visible   journey to agility agile 2012-0
Big visible journey to agility agile 2012-0drewz lin
 
Integrating agiledevsixsigmabp mandcm-presented
Integrating agiledevsixsigmabp mandcm-presentedIntegrating agiledevsixsigmabp mandcm-presented
Integrating agiledevsixsigmabp mandcm-presenteddrewz lin
 

Viewers also liked (6)

Simon brown archsummit2012 the-frustrated-architect
Simon brown archsummit2012 the-frustrated-architectSimon brown archsummit2012 the-frustrated-architect
Simon brown archsummit2012 the-frustrated-architect
 
!Sim high gravitydistributed
!Sim high gravitydistributed!Sim high gravitydistributed
!Sim high gravitydistributed
 
Youku arch qcon2009_beijing
Youku arch qcon2009_beijingYouku arch qcon2009_beijing
Youku arch qcon2009_beijing
 
微信201204
微信201204微信201204
微信201204
 
Big visible journey to agility agile 2012-0
Big visible   journey to agility agile 2012-0Big visible   journey to agility agile 2012-0
Big visible journey to agility agile 2012-0
 
Integrating agiledevsixsigmabp mandcm-presented
Integrating agiledevsixsigmabp mandcm-presentedIntegrating agiledevsixsigmabp mandcm-presented
Integrating agiledevsixsigmabp mandcm-presented
 

Similar to Top100summit automan x之框架介绍 王超

美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationnetdbncku
 
Web testing automation
Web testing automationWeb testing automation
Web testing automationkuozui
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
研发云:借助云计算实现持续交付(by冯智超)
研发云:借助云计算实现持续交付(by冯智超)研发云:借助云计算实现持续交付(by冯智超)
研发云:借助云计算实现持续交付(by冯智超)gigix1980
 
基于Ivy ant的java构建初探
基于Ivy ant的java构建初探基于Ivy ant的java构建初探
基于Ivy ant的java构建初探Anson Yang
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索Will Huang
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展江華 奚
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训Cody Zhang
 
同济优秀课程设计 - 软件测试报告
同济优秀课程设计 - 软件测试报告同济优秀课程设计 - 软件测试报告
同济优秀课程设计 - 软件测试报告Kerry Zhu
 
静态项目管理工具 - opm
静态项目管理工具 - opm静态项目管理工具 - opm
静态项目管理工具 - opmgoto100
 
Kissy design
Kissy designKissy design
Kissy designyiming he
 
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流hizhubo
 
豆瓣I os自动化测试实践和经验
豆瓣I os自动化测试实践和经验豆瓣I os自动化测试实践和经验
豆瓣I os自动化测试实践和经验drewz lin
 
Tcon分享 芈峮
Tcon分享 芈峮Tcon分享 芈峮
Tcon分享 芈峮mijun_hlp
 
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)jalamar
 
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)LetAgileFly
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例Will Huang
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发leneli
 

Similar to Top100summit automan x之框架介绍 王超 (20)

美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Web testing automation
Web testing automationWeb testing automation
Web testing automation
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
研发云:借助云计算实现持续交付(by冯智超)
研发云:借助云计算实现持续交付(by冯智超)研发云:借助云计算实现持续交付(by冯智超)
研发云:借助云计算实现持续交付(by冯智超)
 
基于Ivy ant的java构建初探
基于Ivy ant的java构建初探基于Ivy ant的java构建初探
基于Ivy ant的java构建初探
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训
 
同济优秀课程设计 - 软件测试报告
同济优秀课程设计 - 软件测试报告同济优秀课程设计 - 软件测试报告
同济优秀课程设计 - 软件测试报告
 
静态项目管理工具 - opm
静态项目管理工具 - opm静态项目管理工具 - opm
静态项目管理工具 - opm
 
Kissy design
Kissy designKissy design
Kissy design
 
Berserk js
Berserk jsBerserk js
Berserk js
 
价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流价值中国网站开发、管理经验探讨、分享、交流
价值中国网站开发、管理经验探讨、分享、交流
 
豆瓣I os自动化测试实践和经验
豆瓣I os自动化测试实践和经验豆瓣I os自动化测试实践和经验
豆瓣I os自动化测试实践和经验
 
Tcon分享 芈峮
Tcon分享 芈峮Tcon分享 芈峮
Tcon分享 芈峮
 
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
 
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
 

More from drewz lin

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearydrewz lin
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013drewz lin
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13drewz lin
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrichdrewz lin
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2drewz lin
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2drewz lin
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfdrewz lin
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equaldrewz lin
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21drewz lin
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansendrewz lin
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaoladrewz lin
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsdrewz lin
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentationdrewz lin
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsdrewz lin
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martindrewz lin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowaspdrewz lin
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usadrewz lin
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013drewz lin
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架drewz lin
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈drewz lin
 

More from drewz lin (20)

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
 

Top100summit automan x之框架介绍 王超

  • 1. 淘宝PC自动化测试框架AutomanX 王超 测试平台与发展--PC自动化测试框架组
  • 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
  • 12. 附录:Web UI用例工程结构 �典型的Maven项目 � A: A:测试用例基类 � B: B:测试类 � C: C:测试数据 � D: D:配置文件 � F: F:pom.xml PC自动化测试框架组
  • 13. 附录:Web UI用例结构 �典型的Junit用例结构 �Script include Data �Script & Data PC自动化测试框架组 13
  • 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自动化测试框架组
  • 20.