注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

技术行者

时代的车轮在按照摩尔定律滚动。

 
 
 

日志

 
 

Webx简介(转)  

2010-07-16 14:33:00|  分类: web开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

经常会到博客来看看大家的一些文章,都写的相当精彩,有水平,感觉大家好像都写了,自己没什么写的,后来跟师傅婉佩沟通,才了解到这样想是错的,每个人针对每个东西可能想法观点都不同,写得也肯定会不一样的,所以也来跟大家交流交流。

          进淘宝后,就在参与珠联璧合的Webx层接口测试实践,期间也得到不少沉淀与总结,为了提高我们会员营销线同学的技术能力,也会在内部进行相关的一些学习培训!感觉同样是可以分享给大家的,所以就写下第一篇。

         我们现在提倡接口测试提前到Webx层,好处就不多说,大家应该耳熟能详了。那我觉得,特别是对于新人来说,首先我们应该先了解Webx这个东西,然后我们大家对Webx层接口测试才会比较轻松容易的掌握,下面就简单介绍Webx是什么东东。

一般基本web应用的层次是这样的,如下图:

Webx简介(转) - hansionxu - 技术的天空

Apache公司有个开源项目Cactus,是专门针对上面的Servlet来做接口测试的一个框架。有兴趣的同学可以去研究下,官方网站:http://jakarta.apache.org/cactus/

我们淘宝内部Web应用的层次是这样的,如下图:

Webx简介(转) - hansionxu - 技术的天空

          大家可以看出本质是一样的,Webx框架其实就是把页面与Service层之间的一些Servlet等公共的东西抽象出来,提供相应的服务以提高开发效率,所以我们就必须有针对Webx框架的一套自己的测试解决方案,itest就诞生了。

         Webx里面有三个比较重要的概念,action,screen,control,下面分别来做介绍,看图:

Webx简介(转) - hansionxu - 技术的天空

页头Head、菜单Menu、页脚Foot,这些通常是变化不大的,都可以做成control小控件;

页中Middle,这块通常是变化比较大的,可以做成screen

Webx简介(转) - hansionxu - 技术的天空

上图是大家都十分熟悉的淘宝登录页面,填入相应信息后,点击登录按钮,这个动作就是action

         我们对webx层做接口测试,就是对action与screen来做测试,它们的区别是:

1、screen就相当于select查询,比如请求一个链接http://localhost:8080/test/get_user.vm,就会有GetUserScreen中的execute方法来获得用户信息,然后将其渲染到get_user.vm显示到页面。

示例代码:

Webx简介(转) - hansionxu - 技术的天空

2、action就相当于insert或update,比如注册页面,需要填写表单信息,然后点击注册按钮,请求http://localhost:8080/test/register.do,就会有UserAction中的doRegister方法来处理这些数据,插入到数据库表中。

示例代码:

Webx简介(转) - hansionxu - 技术的天空

         按照Webx规范,是这么区分的,但是action与screen能做同样的事,有时候开发可能不太会去严格的区别它们,有些开发主要关注能实现功能即可。

         综上,webx层接口测试,就是对action里面的doXXX方法,与screen里的execute方法来做测试,这些就是我们所谓的接口,接口测试并不一定要是interface声明才算,对于页面来说,action/screen里的方法就是提供给页面来调用,供外部使用的,都可以被称为接口。

         我们淘宝的一个系统一般会有多个子工程,有个工程是web的,我们要做的接口测试就是在src/main/java/…/module下面,有action与screen。如图:

Webx简介(转) - hansionxu - 技术的天空

         最后,希望大家对Webx有个简单的认识,特别是新人,这样更能快速掌握Webx接口测试。

  评论这张
 
阅读(3029)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017