软件测试软件测试性能测试专题

性能测试篇之Loadrunner12中针对WebServices

2019-04-24  本文已影响2人  0fdd04f992cd

抛出问题:

Loadrunner三种方式

web_service_call、soap_request

web_custom_request函数完成web service协议的脚本,并加上if判断完善脚本

webservices是建立可交互操作的分布式应用程序的新平台,它通过一系列的标准和协议来保证程序之间的动态连接。

其中最基本的协议包括soap,wsdl,uddi.

1、SOAP(simple object access protocl)

SOAP是消息传递协议,它规定了web services之间如何传递消息。

SOAP基于xml和xsd,xml是soap的数据编码方式。

2、WSDL

(web services Description Language)

WSDL是web services的定义语言,和soap一起构成web服务的核心结构单元。

wsdl协议规定了有关webservices描述的标准。

3、UDDI

UDDI是访问登记的标准,它建立了一个平台独立,开放的框架,通过英特网来描述服务,发现业务并整合业务服务。

简单来说,UDDI用于集中存放和查找wsdl描述文件,起着目录服务器的作用。

我们在性能测试的工作中,难免会遇到webservices协议的接口。

这里我简单介绍一下用loadrunner12来开发webservices协议脚本的三种模式,咱们就以天气预报的网站来为例吧:

1、web_service_call模式

◆ 启动“virtual user Generator”

新建“web services”虚拟用户

◆ 选择上方SOA Tool中的Add Service Call

如下图:

◆ 弹出New Web Service Call对话框

选择Service-import service

◆ 输入要测试的网址

◆ 下面选择Operation

输入城市,以及设置获取返回值参数。

◆ 点击OK后,得到下面的脚本

◆ 然后做参数化,断言

◆ 最后保存,设置日志级别,然后Replay我们的脚本

2、soap_request模式

◆ 打开WeatherWebService网站

◆ 复制上面的代码,在notepad++中新建一个文件,将代码粘贴上去,保存到D盘。

然后在loadrunner12中,点击下图的import SOAP。

◆ 在对话框中,我们输入保存的xml文件地址。

输入URL,URL=http://{Host}+{POST}

参数从上图所示取,输入对应的SOAPAction,具体如下图所示

◆ 点击OK,生成下面的脚本

◆ 这里有个难题就是如何做xml断言?

我们看一下下图的响应示例:

这里引入lr_xml_get_values函数来获取xml的返回值。

XPath query中填入city值的xpath定位的绝对路径:

/Envelope/Body/getWeatherbyCityNameResponse/getWeatherbyCityNameResult/string[2]

◆ 最后加入事物函数,做断言

◆ 保存后点击Replay,得到下面的结果:

3、web_custom_request模式

输入对应的URL,body里面输入SOAP的请求体。

点击确定,最后生成如下的代码

后面做脚本强化就行了。

今天的小分享就到这了,有问题可以+群:306924419讨论,暗号:简书 ,群内有各大城市软件测试招聘(北上广深比较多)消息,每周1至周5群都会有免费公开课,笔试面试题分享哒!

上一篇 下一篇

猜你喜欢

热点阅读