loadrunner:web services接口测试
本文以实例讲解web services接口测试操作,内容包括:脚本生成、参数化和接口与接口间的取值关联操作。
网站“http://www.webxml.com.cn/zh_cn/web_services.aspx”有很多开放的接口可供大家练习。
这次我们以“中文<->英文双向翻译WEB服务”接口为实例讲解web services接口测试:
1.1 生成脚本
1) 选择Web Services协议

2) 添加服务调用:打开Manage Services添加WSDL

3) 调用接口:打开Add Service Call在Operation下拉框,我们可以看到根据WSDL文件加载了6个接口方法,这时我们选择中"Translator"接口方法。

下面是Translator的解析:
输入参数:wordKey = 单词; 返回数据:DataSet。(包括全部数据三个DataTable)
如下图所示,我们用soapUI执行Translator方法输入参数值“services”后返回的结果

4) 输入参数:回到Web Service Call窗口,“Input Arguments”下就是该方法的参数,如下图所示,Translator下有一个参数"wordKey",这时我们选中"wordKey"在Value中输入参数值“services”

5) 点击“OK”后就生成了web_service_call,如下图所示,运行返回一组数据。(日志中有中文乱码,暂时不懂解决)

1.2 参数化
web services的参数化很简单,还是回到web service call窗口,直接选择参数进行参数化即可,如下图所示:

生成脚本如下:
1.3 接口间的参数关联
接口测试时,难免会出来接口之间参数传递,下面来说说接口间的参数关联。
以“400个国内外主要城市天气预报Web服务”接口为实例 |
|
Endpoint: http://ws.webxml.com.cn/WebServices/WeatherWebService.asmx |
|
Disco: http://ws.webxml.com.cn/WebServices/WeatherWebService.asmx?disco |
|
WSDL: http://ws.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl |
如下图所示,我们先添加了两个接口方法getSupportProvince和getSupportCity,在getSupportCity方法中我们暂时不参数化,而是先直接给“byProvinceName”赋了一个值“广东”。下面我们就通过修改脚本从getSupportProvince结果中取值给byProvinceName。

打开“Tree”视图 > 选择“getSupportProvince_101”> 打开“SnapShot”标签页 > 点击“Response”获取getSupportProvince的结果列,如下图所示:

找到是“广东”的返回值后,右键选择“save value in parameter..”

弹出XML parameter Properties窗口,如下图所示,这次关联是以XPath路径查找返回值的。这时我们输入参数名称“ParamValue_Province”即可。

点击“OK”,脚本中就生成了关联函数lr_xml_get_values,如下图所示,生成并调用ParamValue_Province

运行,查看ParamValue_Province的取值,如下图所示为“广东”

如何取一组关联数据:
如果要取得所有省份就把
1) “FastQuery”改为“Query”;
2) Xpath: “/Envelope/Body/getSupportProvinceResponse/getSupportProvinceResult/string”;
3) 增加属性"SelectAll=yes"。

如下图,输出了ParamValue_Province数组,我们取了第24个赋值到下一个方法

loadrunner:web services接口测试的更多相关文章
- 使用LoadRunner对Web Services进行调用--Import Soap
利用LoadRunner对Web Services进行测试时,通常有三种可供采用的方法: 在LoadRunner的Web Services虚拟用户协议中,[Add Service Call] 在Loa ...
- 使用LoadRunner对Web Services进行调用--Add Service Call
利用LoadRunner对Web Services进行测试时,通常有三种可供采用的方法: 在LoadRunner的Web Services虚拟用户协议中,[Add Service Call] 在Loa ...
- Web Services的相关名词解释:WSDL与SOAP
在对Web Services进行性能测试时,接触到最多的两个名词就是WSDL和SOAP.利用LoadRunner对Web Services进行调用的时候,也存在两种常用方法,即基于WSDL的[Add ...
- web service接口测试工具选型
1 简介 1.1 范围 1.2 目的 本文档用于指导测试部进行接口测试. 2013-03-11磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.com ...
- 深入解析Web Services
SOA,面向服务器建构,是一款架构,这几年虽然没前几年那么流行,但是还是有很多企业在用,而Web Services是目前适合做SOA的主要技术之一,通过使用Web Services,应用程序可以对外发 ...
- .NET RESTful Web Services入门
很早之前看到过RESTful Web Services,并未在意,也没找相关资料进行学习.今天偶尔有一机会,就找了点资料进行研究,发现RESTful真是“简约而不简单”.下面用示例来说明: 1 项目结 ...
- 分分钟带你玩转 Web Services
当大型需求被数个公司分割开来,各公司系统相互交换数据的问题就会接踵而来. 毕竟是多家不同的公司的产品,研发开发语言.采用技术框架基本上是百花齐放. 怎样让自家系统提供的服务具有跨平台.跨语言.跨各种防 ...
- BizTalk发布WS-Security的web services
最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk发布WS-Securit ...
- BizTalk调用WS-Security的web services
最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk调用OTM的web se ...
随机推荐
- Python之路:堡垒机实例以及数据库操作
一.堡垒机前戏 开发堡垒机之前,先学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作. SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: ...
- JAVA基础-多态
多态 polymophism: 动态绑定, 迟绑定, 指在执行期间(java), 而不是编译期间(javac), 判断所引用对象的实际类型, 根据实际类型调用响应的方法. 3个条件: 1. 继承 2. ...
- JQuery的隐式迭代和each函数和map函数
1.JQuery选择器选择出来的是一个数组对象,可是给这些每一个元素都要设置内容时,就会隐式迭代,JQuery自己实现内部循环给每个元素绑定上设置. 2.如果是获取的话,那就是默认获取第一个元素的值. ...
- docker-compose 所带来的方便
docker-compose 是一款开源的docker 简化复杂容器环境的管理工具 . docker-compose 在结合Swarm 与 docker 进程化容器部署可以很方便的部署一套环境. 具体 ...
- 用 JS 点击左右按钮 使图片切换 - 最精简版-ljx2380000-ChinaUnix博客
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- linux查看系统负载
摘要:number of cores = max load , linux 系统负载高 如何检查? 1:load Average 1.1:什么是Load?什么是Load Average? ...
- Sping--集合注入
UserDAOImpl.java: package com.bjsxt.dao.impl; import java.util.List; import java.util.Map; import ja ...
- DM二维码识别库DMDECODER的使用--MFC例程
DM码和QR码是当今比较主流的二维码,其中QR码容量大,容量密度为16kb,DM码容量要小一点,可在仅仅25mm²的面积上编码30个数字,但是DM码的容错率更高,所以实际的工业生产中经常使用DM码作为 ...
- UISegmentedControl——分段控件
分段控件,提供了一组按钮,但是只能激活一个.通过UIControlEventValueChanged事件实现与用户的交互,并通过selectedSegmentIndex判断当前选定的控件,通过titl ...
- Android学习笔记--处理UI事件
Handling UI Events 在Android里, 有不只一种方式可以截获用户与你的应用程序交互的事件. 在你的界面上处理事件时,你需要捕获用户与某个View实例交互时所产生的事件.View类 ...