soap协议_Loadrunner12中针对WebServices协议的三种脚本开发模式

Loadrunner三种方式:

web_service_call、soap_request

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

webservices协议简介:

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协议脚本

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

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

1、web_service_call模式

◆ 启动“virtual user Generator”

新建“web services”虚拟用户

9b06f3769214ab8f50b7fcb6a0fb7880.png

选择上方SOA Tool中的Add Service Call,如下图:

d42ee7214a23fa9944704bf56b4ed0a1.png

弹出New Web Service Call对话框

选择Service-import service

c7b64c10f1bd145a63235f51b468f384.png

输入要测试的网址

5b8c65b8ca3da2e124c6bda97deeaea4.png

下面选择Operation

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

a8b76bafc1882c44ff3b5e6ba3b42b98.png
a062253aa8eba3e8a259fe14ebd8247c.png
a16240762c0e1634f4453cd29905c237.png

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

390b6d12094a2764749afbd095448dd3.png

然后做参数化,断言

46d20f7f4e1d18b2eeb7e989cec26ca0.png

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

afc9b7722b063be128dfa3ccc25914bd.png

2.soap_request模式

打开WeatherWebService网站

56b5188335f2d04ea16f128ad4749b34.png

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

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

9e871b6d08aa5cc749f4d679e62fc4db.png
eb4569133871acfca8ce904a110f9422.png

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

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

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

18199e381d9083e4f0e5cf767592c5b8.png

点击OK,生成下面的脚本

8e327fb5d2e9a4f795ec9f0367934e75.png

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

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

b09dbb24679725b09a0af5d1c4327c44.png

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

484eef3829f0c4986ccd24021658f8a9.png

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

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

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

1371654af736e229933b6c498c705668.png
2f187280f84a0263263a2ed3aa6a7eba.png

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

40eff70e706bc53e1107f195aec75444.png

3、web_custom_request模式

e8d7ed45717382613e334f0d8ca846b3.png

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

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

71ebcee15f0584f2e4ae2621b3074929.png

后面做脚本强化就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值