本文以实例讲解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       接口间的参数关联

接口测试时,难免会出来接口之间参数传递,下面来说说接口间的参数关联。

如下图所示,我们先添加了两个接口方法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接口测试的更多相关文章

  1. 使用LoadRunner对Web Services进行调用--Import Soap

    利用LoadRunner对Web Services进行测试时,通常有三种可供采用的方法: 在LoadRunner的Web Services虚拟用户协议中,[Add Service Call] 在Loa ...

  2. 使用LoadRunner对Web Services进行调用--Add Service Call

    利用LoadRunner对Web Services进行测试时,通常有三种可供采用的方法: 在LoadRunner的Web Services虚拟用户协议中,[Add Service Call] 在Loa ...

  3. Web Services的相关名词解释:WSDL与SOAP

    在对Web Services进行性能测试时,接触到最多的两个名词就是WSDL和SOAP.利用LoadRunner对Web Services进行调用的时候,也存在两种常用方法,即基于WSDL的[Add ...

  4. web service接口测试工具选型

    1  简介 1.1   范围 1.2   目的 本文档用于指导测试部进行接口测试. 2013-03-11磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.com ...

  5. 深入解析Web Services

    SOA,面向服务器建构,是一款架构,这几年虽然没前几年那么流行,但是还是有很多企业在用,而Web Services是目前适合做SOA的主要技术之一,通过使用Web Services,应用程序可以对外发 ...

  6. .NET RESTful Web Services入门

    很早之前看到过RESTful Web Services,并未在意,也没找相关资料进行学习.今天偶尔有一机会,就找了点资料进行研究,发现RESTful真是“简约而不简单”.下面用示例来说明: 1 项目结 ...

  7. 分分钟带你玩转 Web Services

    当大型需求被数个公司分割开来,各公司系统相互交换数据的问题就会接踵而来. 毕竟是多家不同的公司的产品,研发开发语言.采用技术框架基本上是百花齐放. 怎样让自家系统提供的服务具有跨平台.跨语言.跨各种防 ...

  8. BizTalk发布WS-Security的web services

    最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk发布WS-Securit ...

  9. BizTalk调用WS-Security的web services

    最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk调用OTM的web se ...

随机推荐

  1. 写自己的一个pdo数据库操作框架

    http://stackoverflow.com/questions/20669850/pdo-database-abstraction-layer-with-multiple-queries-in- ...

  2. 用c++写一个 “hello,world” 的 FastCGI程序

    原文:http://chriswu.me/blog/writing-hello-world-in-fcgi-with-c-plus-plus/ 上面的连接地址给出的是作者的原文地址. 另外一个作者稍微 ...

  3. html5 canvas 实现简单的画图

    今天早上看了一下 canvas 前端画图,数据可视化, 百度的 echart.js  , d3等 js 库都已经提供了强大的绘制各种图形的 API. 下面记录一下 有关canvas 绘图的基本知识: ...

  4. hibernate--多对多单向关联 (重点!!!)

    老师和学生的关系, 一个老师对多个学生, 一个学生也对应多个老师. 数据库会需要3个表, 一个老师表, 一个学生表, 一个老师对应学生表. 单向: 老师知道自己有多少学生, 但是学生不知道自己有多少个 ...

  5. Xcode 6配置里定义${ARCHS_STANDARD}为armv7, arm64以及错误

    转发:http://www.cocoachina.com/ios/20141013/9897.html 最近一次的Xcode 6更新默认不再支持arm7s架构,究竟是要废除不用呢还是仅仅只是一个疏忽? ...

  6. location下的属性集锦

    location.protocol="http:"//即,协议 location.hostname="zhidao.baidu.com"//即,主机域名

  7. [Unity WWW] 跨域访问解决方法

    什么是跨域访问 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation).信任关系是连接在域与域之间的桥梁.当一个域与其他域建立了信任 ...

  8. C++通过Callback向C#传递数据,注意问题

    转载:出处 现在比较流行C#与C++融合:C#做GUI,开发效率高,C++做运算,运行效率高,二者兼得. 但是C++与C#必然存在数据交互,C#与C++dll的数据交互从来都是一个让人头疼的问题. 从 ...

  9. bzoj1176: [Balkan2007]Mokia【cdq分治】

    把询问搞成4个,cdq分治. #include <bits/stdc++.h> #define rep(i, a, b) for (int i = a;i <= b; i++) #d ...

  10. iOS开发——NSDate(待续...)

    1.获取当前系统时间,毫秒级 - (void)viewDidLoad { [super viewDidLoad]; NSString *currentTime = [self getCurrentTi ...