软件测试技术之JMeter官方文档:9. 构建 WebService 测试计划
白羽 2018-07-20 来源 :网络 阅读 802 评论 0

摘要:本文将带你了解软件测试技术之JMeter官方文档:9. 构建 WebService 测试计划,希望本文对大家学测试技术有所帮助。



9. 构建 WebService 测试计划



在本章节,你将学习如何创建一个 测试计划 去测试 WebService。先创建5个用户请求同一个页面,同时每个请求重复2次,因此总数为(5个用户)X(1次请求)X(重复请求)= 10 次 HTTP 请求。构建测试计划过程中,会使用到以下几个元素:线程组、HTTP 请求、聚合报告

如果采样器使用Web服务时出现错误,请仔细检查 SOAP 消息,并确保格式正确。 特别要确保 xmlns 属性与WSDL完全相同。 如果xml命名空间不同,则 webservice 可能会返回错误。

9.1 构建 WebService 测试计划



在测试计划中,将会用到 .NET 语言写的web服务,在此就不详细介绍web 服务的编写方法了。如果不会,请自行谷歌 web 服务并尝试用 java 或 .NET熟练起来。必须强调的是,使用 .NET 和 Java 实现 web 服务是有较大差别。该主题太广泛无法写到用户手册里,所以想了解具体差异可参考其他资料。


Jmeter是按照树状的排列方式去发送请求的


找到菜单中的 文件 → Templates ,  Select Template 中的 “Building a SOAP Webservice Test Plan”,点击 “Creat” 按钮。


图9.1.0 WebService 模版

以国内手机号码归属地查询接口为例
//ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

修改下列选项:


在 “HTTP Request Defaults” 元件中, “服务器名或IP:” 选项 填写网址或IP(ws.webxml.com.cn)。
在 “Soap Request” 元件中,”路径:” 选项 填写接口路径(/WebServices/MobileCodeWS.asmx)。



图9.1.1 WebService 路径

接下来,右键目录栏的 test plan,选择”HTTP Header Manager”,并更新 “SOAPAction” 头以匹配你的 webservice ,如果这个 webservice 不需要 SOAPAction 那就移除掉。目前,只有.NET需要用到 SOAPAction ,所以对于其他Web服务包括JWSDP,Weblogic,Axis,Mind Electric Glue和gSoap等是不需要用到的。



图9.1.2 Webservice信息头

这里需要将 SOAPAction 修改:“//WebXml.com.cn/getMobileCodeInfo"

最后一步就是把 SOAP 信息粘贴到 “Body Data” 的文本框。(参考:图 9.1.1)

<soapenv:Envelope xmlns:soapenv="//schemas.xmlsoap.org/soap/envelope/"
xmlns:web="//WebXml.com.cn/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:getMobileCodeInfo>
         <!--Optional:-->
         <web:mobileCode>186xxxxxxxx</web:mobileCode>
         <!--Optional:-->
         <web:userID></web:userID>
      </web:getMobileCodeInfo>
   </soapenv:Body>
</soapenv:Envelope>


9.1.3 Webservice请求默认值

注:将186xxxxxxxx 替换为具体手机号。

9.2 增加用户组



线程组 将告诉JMeter需要模拟的用户数量,用户发送请求的频率以及发送请求的数量。

如果还未设置线程组的元素,应该在JMeter窗口右侧部分的线程组控制面板进行选择(参见下图9.2)



图9.2 线程组默认值

首先为线程组提供一个更具描述性的名称。 在名称字段中,输入 JMeter 用户。

接下来,将用户数(有名线程)增加到10。

在下一个字段中,准备时长默认值为0秒。 此属性告诉JMeter启动每个用户需要多长时间。 例如,如果你输入5秒,JMeter将在5秒之后完成所有用户的启动。 因此,如果我们有5个用户和5秒的准备时长,则启动用户之间的延迟将为1秒(5个用户/ 5秒=每秒1个用户)。 如果将值设置为0,那么JMeter将立即启动所有用户。

最后,去掉 “永远” 的勾选并填写数字2,代表jmeter将重复执行2次;如果默认填写0,Jmeter只会执行一次;如果勾选 “永远”,代表Jmeter会重复执行。


在大多数应用程序中,你必须手动更改并保存才能生效。 但是,在JMeter中,控制面板会在你进行更改时自动保存生效。 比如你更改元素的名称,则在离开控制面板后,新的元素名称就会生效。


完整的JMeter用户线程组参见图9.2



图9.3 Jmeter用户线程组

9.3 增加监听器查看测试结果



最后一步是添加监听器到测试计划。 监听器的左右是负责将HTTP请求的所有结果存储在文件中,并呈现数据的可视化模型。

选择JMeter Users元素并添加一个聚合图监听器(添加 → 监听器 → Aggregate Graph)。 然后指定输出文件的目录和文件名。 也可以选择浏览按钮并浏览到目录,然后输入文件名。



图9.4 图表结果监听器

9.4 Rest Webservice



测试REST Webservice手法与上述相似,只需要在HTTP请求中进行修改即可。

方法:选择要测试的一个
参数设置:可以是JSON,XML或任何自定义文本

你可能还需要修改 “HTTP头管理器” 来选择正确的 “Content-Type”。    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试技术频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程