Webx简介(转)

article/2025/9/29 8:12:06

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

          进淘宝后,就在参与珠联璧合的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接口测试。


http://chatgpt.dhexx.cn/article/Ldach3Pw.shtml

相关文章

WebX入门指南

[说明] 本文围绕WebX的Web框架展开,试图将整个开发中使用的软件栈或者说生态系统串联起来。本文中不讲解原理性的东西,只是讲解各种场景下如何使用WebX相关的技术。入门指南中涉及到的实践指南和原理指南,不会展开,在后续博文中&a…

WebX框架解析及使用教程

WebX框架是阿里巴巴集团开发的,它建立在SpringEx的基础上,具有超强的扩展能力。 一、Webx的层次结构(从里到外) (1)SpringExt:基于Spring,提供扩展组件的能力 (2&#xf…

VSCode中Emmet使用

文章目录 HTML部分1. 添加类,id,文本和属性2. 嵌套和分组3. 隐式标签4. 定义多个元素* 和 编号$5. 添加虚拟文字6. 其它 CSS部分1. 属性和属性值的缩写2. 属性值的单位其它 HTML部分 1. 添加类,id,文本和属性 div.box#box > …

linux vim emmet,emmet-vim

最近啊,我投奔了网页的开发,看了一本《head first HTML and CSS》的书,感觉非常不错,然后又配置了一些vim里面用到的插件,现在我把学习到的东西记录下来! 首先,我不会在这里写emmet 的具体操作方…

Emmet 语法

Emmet语法前身是Zen coding,来提高html和css的编写速度,vscode内部已经集成该语法了 1、快速生成html结构语法 生成标签: 直接输入标签名,再按TAB键,such as 你打个 div 再按tab,就会直接生成 (这里打不出…

emmet写法

1.写一个递增的img路径 img[srcimage/com/$$.png]*10 效果

6.Emmet 语法与快速格式化代码

Emmet语法可以让我们在写网页的时候速度更快,我当前写网页的工具是pycharm,在pycharm中使用Emmet,我们需要点击File,然后点击Setting 搜索emmet,保证这里是勾选状态 安装后如果不进行其他设置,emmet自动被勾选 目录 …

Emmet语法总结

1 Emmet简介 Emmet是一个Web开发工具,用于加快HTML和CSS代码的编写速度。使用Emmet能够通过简短的表达式生成HTML或CSS代码片段。另外,截至2022年,主流的编辑器工具如Visual Studio Code、WebStorm都已经集成了Emmet工具,无需手动…

Linux 配置全面讲解(安装JDK、Mysql、Nginx)

1 Linux概述 1.1 Linux介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思…

【JAVA秒会技术之ConcurrentHashMap】JDK1.7与JDK1.8源码区别

前言 以前写过介绍HashMap的文章,文中提到过HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,…

安装笔记--eclipse+jdk+neo4j安装与配置

1.eclipse安装2.JDK安装3.环境变量配置4.在eclipse中创建与导入项目4-1 eclipse导入项目 5.neo4j配置 1.eclipse安装 第一步:下载eclipse,并安装。 下载链接: http://www.eclipse.org/downloads/. 点击 Download Packages; 如图:根据自己的…

JDK7与JDK8中HashMap的实现

JDK7中的HashMap HashMap底层维护一个数组&#xff0c;数组中的每一项都是一个Entry transient Entry<K,V>[] table;我们向 HashMap 中所放置的对象实际上是存储在该数组当中&#xff1b; 而Map中的key&#xff0c;value则以Entry的形式存放在数组中 static class En…

VirtualBox虚拟机安装CentOS,安装jdk

CentOS 安装&#xff0c;安装jdk 1. CentOS 简介 CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持&#xff08;通过安全更新方式&#xff09;。新版本的 CentOS 大约每两年发行一次&#xff0c;而每个版本…

JDK1.7安装及校验

JDK的全称是JavaSE Development Kit&#xff0c;即java开发工具包&#xff0c;是sun公司提供的一套用于开发java应用程序的开发包&#xff0c;它提供了编译、运行java程序所需的各种工具和资源&#xff0c;包括java编译器、java运行时环境&#xff0c;以及常用的java类库等。 …

JVM调优(jdk8)与垃圾回收器详解

JVM调优与垃圾回收器详解 这张是jdk8的jvm模型&#xff1a; 黄色框的是线程共享区域、蓝色框的是线程私有(也就是每个线程单独一份) jvm模型从大的角度说有&#xff1a;类装载子系统、字节码执行引擎、运行时数据区。我这里主要讲运行时数据区。 一、JVM内存模型 1、名词解释…

下载并安装JDK7

JDK的全称是JavaSE Development Kit&#xff0c;即java开发工具包&#xff0c;是sun公司提供的一套用于开发java应用程序的开发包&#xff0c;它提供了编译、运行java程序所需的各种工具和资源&#xff0c;包括java编译器、java运行时环境&#xff0c;以及常用的java类库等。 …

VMware虚拟机安装以及在虚拟机上安装JDK+Tomcat+MySQL

1. VMware虚拟机安装 注意&#xff1a;最好不要安装在C盘&#xff0c;会使电脑变得很卡。 注意&#xff1a;这里去掉“启动时检查产品更新”&#xff0c;每次启动更新麻烦&#xff0c;影响效率。 下一步&#xff0c;直到&#xff1a; 点击“许可证”&#xff0c;输入许可证…

spark 安装部署与介绍

spark spark 概述一. spark和hadoop二. 应用常景和解决生态系统组件应用场景Spark执行任务流程图 三. Spark安装四. Spark部署模式1、单机本地模式&#xff08;Spark所有进程都运行在一台机器的JVM中&#xff09;2、伪分布式模式 &#xff08;在一台机器中模拟集群运行,相关的…

TLS协议与JDK版本之间微妙的关系

TLS协议与JDK版本之间微妙的关系 首先想知道TLS协议与JDK版本之间微妙的关系&#xff0c;就必须知道什么是TLS协议&#xff1f; 维基百科是这样说的&#xff1a; 传输层安全性协定&#xff08;英语&#xff1a;Transport Layer Security&#xff0c;缩写作TLS&#xff09;&…

linux jdk免安装配置,生产环境免安装jdk的使用方法

以下为《生产环境免安装jdk的使用方法》的无排版文字预览&#xff0c;完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的&#xff0c;下载的文档就是什么样的。 使用流程 一、概述 医院的生产环境可能已经安装过jdk&#xff0c;如果jdk的版本不是1…