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 ...
随机推荐
- Ubuntu安装pycharm
在安装pycharm之前,想看一下需要安装那些软件. 在安装前先下载软件 JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk ...
- nginx的内页跳转总结
刚进公司的时候老大一直在要求php做内页跳转,当时也不太了解细节所以一直没有说话.后来php问我你会不会做内页跳转,我说会一点就做了几个,从此搞内页跳转搞了两个星期.至于为什么做内页跳转哪就暂时不 ...
- [算法] aov图拓扑算法
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <queue> ...
- 【GO】关于GO的浅显总结
最近看了下go的入门教程,被它的强大震撼了,第一印象感觉特点主要有如下几个吧: 1. 集c,python,erlang之长,和c同属静态语言,保证效率:语法如python一样简洁,库很强大:从erla ...
- jquery选择器 之 获取父级元素、同级元素、子元素 - yes的日志 - 网易博客
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- 使用Java操作文本文件的方法详解
使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而 ...
- Android studio中添加外部的jar包
1.下载相关的jar包, 2,将jar包复制到当前module的lib中 3.选择新添加的jar包.右键.add as library 就好啦
- FZU 1054 阅读顺序
水题,倒着输出. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm& ...
- 开源免费的C/C++网络库(c/c++ sockets library)补充
(1)ACE 庞大.复杂,适合大型项目.开源.免费,不依赖第三方库,支持跨平台. http://www.cs.wustl.edu/~schmidt/ACE.html (2)Asio Asio基于Boo ...
- RFID射频卡超市购物结算系统问题记录--写入卡片时,后台php无法操作数据库
后台管理人员要给每件商品贴上RF卡作为唯一标识,所以要先给对应的RFID卡中写入响应的信息,我这里为了便于模拟演示只写入商品编号,价格,名称这几个字段,然后要把已经写入的商品上传后台,由后台写入数据库 ...