LoadRunner性能测试应用(三)

2.1.2  录制Web Services脚本

  在进行性能测试时,大部分对Web性能测试,选择“Web(HTTP/HTML)”协议即可,但录制完脚本后,回放脚本过程中有时会发生中断或停止的情况,查看错误时,如果无法找到SOAP文件字样时,就需要考虑更换脚本录制协议了。通常首先考虑更换Web Services协议,再次录制脚本,问题就相应解决了。

  在录制Web Services脚本前,首先对Web Services做一个简要的介绍,这样有助于读者或者测试人员能够更好地利用Web Services协议录制脚本。

  1.什么是Web Services

  Web Services是一种构建应用程序的普通模型,并能在所有支持Internet通信的操作系统上实施运行。Web Services令基于组件的开发和Web的结合达到最佳,基于组件的对象模型,如:分布式组件对象模型(Distributed Component Object Model, DCOM)、远程方法调用(Remote Method Invocation, RMI)、互联网内部对象请求代理协议(Internet Inter-Orb Protocol, IIOP)都已经发布很长时间,但是它们都依赖于特殊对象模型协议。而Web Services利用SOAP和XML对这些模型在通信方面作了进一步的扩展,以消除特殊对象模型的障碍。

  进一步地,Web Services还基于HTTP和SOAP协议,使得Web用户通过Web调用的方法使用SOAP和HTTP来调用远程对象,确保业务数据得以在Web上传输。

  2.Web Services结构

  客户根据WSDL描述文档,会生成一个SOAP请求消息。Web Services都是放在Web服务器(如IIS)后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器,Web服务器再把这些请求转发给Web Services请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web Services,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把信息送回到客户端。

  3.Web Services体系

  Web Services体系主要包括以下几个方面:

  (1)Web Services包括3种组件。

  服务提供者:提供服务,进行注册以使服务可用;

  服务代理者:服务交换所,服务提供者和服务请求者之间的媒体;

  服务请求者:向服务代理请求服务,调用这些服务创建应用程序。

  (2)Web Services提供3种操作。

  发布/不发布(Publish/Unpublish):服务提供者向服务代理者发布(注册)服务或不发布(移去)这些服务的注册;

  发现(Find):由服务请求者向服务代理者执行发现操作,服务请求者描述要找的服务,服务代理者分发匹配的结果;

  绑定(Bind):在服务请求者和服务提供者之间绑定,这两部分协商以使请求者可以访问和调用提供者的服务。

  (3)UDDI规范

  统一描述、发现和集成(Universal Description Discovery and Integration, UDDI)是一个Web Services的信息注册规范,基于UDDI的Web Services注册可以被发现。UDDI的核心部分是UDDI业务登记逻辑,即在Web上有一种分布的注册服务,这种服务以一种通用的XML格式进行描述。通过XML中的结构化描述,可以很方便地在互联网上发现需要的数据,进而方便进行分析和操作。从概念上看,一个UDDI业务登记逻辑所提供的信息包括三个部分:“白页”包括地址、协议和已有标识;“黄页”包括基于分类标准的工业类型;“绿页”是关于企业所包含的服务技术信息,包括网络服务说明参考和根据发现机制对各种文件和网址提供的标识支持。

  (4)网络服务描述语言(WSDL)

  网络服务描述语言(Web Services Description Language, WSDL)遵循XML语法,为服务提供者提供了描述构建在不同协议或编码方式之上的Web Services请求基本格式的方法。WSDL用来描述一个Web Services能做什么,它的位置在哪里,如何调用它等。在假定以SOAP/HTTP/MIME作为远程对象调用机制的情况下,WSDL会发挥最大作用。UDDI注册描述了Web Services绝大多数方面,包括服务的绑定细节。WSDL可以看作是UDDI服务描述的子集。

  WSDL将服务定义为一个网络端点的集合,或者说端口的集合。在 WSDL 里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息(需要交换的数据的抽象描述)和端口类型(操作的抽象集合)。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的连接,端口的集合定义为服务。因此,一个WSDL文档在定义Web Services时使用如下的元素:

  类型——使用某种类型系统定义数据类型的容器;

  消息——通信数据抽象的有类型的定义;

  操作——服务支持动作的抽象描述;

  端口类型——操作的抽象集合,该操作由一个或多个端点支持;

  绑定——针对一个特定端口类型的具体协议规范和数据格式规范;

  端口——单一的端点,定义成一个绑定和一个网络地址的链接;

  服务——相关端点的集合。

  不难看出,WSDL给客户提供了一个模板,方便客户描述和绑定服务。

上面简单介绍了Web Services基本的知识,下面采用Web Services单协议进行简要的脚本录制,读者可结合录制脚本的过程进一步了解它,具体步骤如下:

  选择“开始”>“程序”>“LoadRunner”>“Virtual User Generator”(Vuser生成器),启动VuGen。在VuGen的“File”下拉菜单中选择“New”,新建一个脚本;从“Category”(类别)列表中选择“Web Services”协议,单击“OK”按钮开始录制Vuser脚本。

  首先配置Web Services录制向导,配置程序录制的方式。“Record Client Application”方式是通过客户端进行录制的,“Scan WSDL file”方式需要录入WSDL文件才可录制,在这里选择“Record Client Application”进行录制,如图2-12所示。

  “Specify WSDL files for recording”向导用于配置WDSL文件,由于选择“Record Client Application”的录制方式,所以在此选择“Do not use WSDL file during recording”,表示不利用WSDL文件进行录制,如图2-13所示。

 

 LoadRunner性能测试应用(三) - 银杏飘零 - 我的博客    LoadRunner性能测试应用(三) - 银杏飘零 - 我的博客

图2-12  Web Services录制界面1              图2-13  Web Services录制界面2

  “Specify application to record”向导用于配置程序的访问地址、浏览器和录制脚本中的一些初始化设置。在URL中添加测试程序的访问地址;如果程序需要其他的浏览器,选择“Record any application”进行其他浏览器的设置,这里不需要特殊的浏览器,所以不选择此项;“Record into action”选项用于指定把录制的脚本放到哪一个部分,一般初始化放在vuser_init中,循环部分在Action中,结束退出部分放在vuser_end中,如图2-14所示。如有需要请单击后面的“Advanced Details”按钮,可以详细地配置“Options Recording”用来录制脚本,这里不介绍Options Recording,在以后的章节中有详细的介绍。单击“完成”按钮即可完成Web Services的向导配置。

  然后VuGen将根据程序的访问地址自动启动应用程序,并显示“Recording…”(录制)工具栏,开始脚本的录制,如图2-15所示。

LoadRunner性能测试应用(三) - 银杏飘零 - 我的博客

图2-14  Web Services录制界面3

LoadRunner性能测试应用(三) - 银杏飘零 - 我的博客

图2-15 “Recording…”工具栏

  在整个操作过程完成后,单击“停止”按钮,脚本录制结束,LoadRunner自动把录制的内容保存在脚本中。在录制完毕的脚本中会出现一些函数,在后面章节中会详细介绍这些函数的使用方法。

  一个生成的Web Services的脚本节选如图2-16所示。

 

LoadRunner性能测试应用(三) - 银杏飘零 - 我的博客

图2-16  Web Services脚本图例

  这样就完成了Web Services单协议脚本的录制过程。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值