jmeter的webservice接口测试(SOAP/XML-RPC Request)

摘自:https://www.cnblogs.com/imyalost/p/5804359.html

项目背景:公司的微信端H5界面新开发了会员注册功能,需要对其进行压力测试

项目目标:需要承受每分钟最少6000的压力

备注:并不是每一个jmeter版本都会有SOAP/XML-RPC Request的功能

一、建立一个测试计划(test plan)

之前有说过,jmeter打开后会自动生成一个空的test plan,用户可以基于该test plan建立自己的test plan

一个性能测试的负载必须有一个线程组完成,而一个测试计划必须有至少一个线程组。添加线程组操作如下:

在测试计划处右键单击:添加→Threads(Users)→线程组

每个测试计划都必须包含至少一个线程组,当然,也可以包含多个,多个线程组的运行在jmeter中采用的是并行的方式,即:同时被初始化且同时执行其下的sampler

线程组主要包含三个参数:

线程数:虚拟用户的数量,一个线程指一个线程或者进程

Ramp—Up Period(in seconds):准备时长。设置的线程数需要多久全部启动,比如上图,线程数为6000,启动时间为60,那么需要60S内启动6000个线程;

循环次数:每个线程发送请求的次数。如上图,6000个线程,每个线程发送1次,如果勾选了永远,那么它将永远发送下去,直到停止脚本;

设置合理的线程数对能否达到测试目标有决定性影响。比如在本例中,如果线程数太少,则无法达到设定的要求;

另外,设置合理的循环次数也很重要,除了给定的设置循环次数和永远,还可以通过勾选调度器,设置开始和结束时间来控制。

二、添加sampler

添加完线程组后,在线程组上右键单击:添加→Sampler→SOAP/XML-RPC Request(SOAP/XML-RPC:都是报文中不同的数据格式)

前面说过,取样器(Sampler)是与服务器进行交互的单元。一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录相应时间信息

这里解释一下,因为微信H5界面的会员注册,向微信端发送的是xml文件,所以这里我选择的取样器是SOAP/XML-RPC Request

上面的图中,选择SOAP/XML-RPC Request取样器,然后URL一栏输入我们需要进行加压的URL

然后默认选项,Use KeepAlive的意思是:保持连接,这个是http协议报文中的一个首部字段,之前的关于HTTP协议的随笔写过

下面的SOAP/XML-RPC Data输入需要发送的xml格式的文件就行(也可以导入xml文件的文件夹进行读取),下面是xml和json的区别:

添加完取样器和具体的地址参数之后,接下来就是添加监听器,对测试结果进行获取

三、添加监听器

在线程组上右键单击,添加你需要的监听器,一般常用的就是结果树和聚合报告

添加后启动线程组进行测试,等线程执行完成后,根据结果树中的请求和响应结果(成功或者失败)就可以分析我们的测试是否成功,以及根据聚合报告结果来确认我们这次确认是否达成了预期结果。

四、聚合报告简析

Aggregate Report: JMeter 常用的一个 Listener,中文被翻译为“聚合报告”

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

Median:中位数,也就是 50% 用户的响应时间

90% Line:90% 用户的响应时间

Note:关于 50% 和 90% 并发用户数的含义,请参考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

原文地址:https://www.cnblogs.com/hupilan521/p/9094596.html

时间: 2024-11-09 02:41:56

jmeter的webservice接口测试(SOAP/XML-RPC Request)的相关文章

jmeter实现webservice接口测试

其实可以用jmeter两种sampler进行webservice的测试: 1.SOAP/XML-RPC Request(但是在jmeter3.2以后版本中已经取消了这个取样器) 2.HTTP请求 下面分别介绍两种方式 一.首先需要使用soupUI工具抓取webservice接口的部分需要的信息. 1.新建项目 2.新建成功的项目信息如下图: 3.选择要测试的接口,右键新建request 4.编辑报文内容,点击左上角的绿色三角执行按钮,右侧窗口查看接口请求结果 5.可以复制下发送的报文的格式 <s

SOA,Webservice,SOAP,REST,RPC,RMI,JMS的区别与联系(转载)

原文地址:http://blog.csdn.net/pcceo1/article/details/51245249 SOA面向服务的软件架构(Service Oriented Architecture) 是一种计算机软件的设计模式,主要应用于不通应用组件中通过某种协议来互操作 它的基本设计原理是:服务提供了一个简单的接口,抽象了底层的复杂性,然后用户可以访问独立的服务,而不需要去了解服务底层平台实现. 正因为SOA架构实现不依赖于技术,因此能够被各种不同的技术实现. 例如: SOAP, RPC

jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包

一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps:服务端每秒钟能处理的请求数. 响应时间:就是你从发出请求到服务端返回给你数据的时间. 二.jmeter操作数据库 在测试计划中添加mysql-connector-java-5.1.7-bin.jar 最后添加查看结果树.如果既要查询又要修改操作选择Callable Statement这个模式. 断言

【转载】C# HttpWebRequest 发送SOAP XML

调用webservice的几种方法: 方法一:添加web引用(简单/方便 局限客户端是.net) 方法二:Post xml(本文重点讲述) 方法三:使用微软MSXML2组件(好像在window server2008上就不支持) 方法四:在页面上添加form post到服务端 //创建HttpWebRequest 实例,使用WebRequest.Create HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("服务地址&qu

jenkins+jmeter+ant搭建接口测试平台

接口测试的重点是检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系. 接口测试的流程 项目启动后,测试人员要尽早拿到接口测试文档. 开始编写接口测试用例 将接口测试用例部署到持续集成的测试环境中 设定运行频率,告警方式等. 维护接口脚本. JMETER是一个性能测试工具.主要用来测试CGI, WEBSERVICE,DB等类型的测试. 1. 在JMETER中编写接口请求.填写域名,路径,随请求一起发送的参数 2.对返回的结果设置断言. 接口测试脚本就做好了. 接口测试返回的是jtl的测

Web Service学习笔记(webservice、soap、wsdl、jws详细分析) (转)

Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务. 这里我们从一个程序员的视角来观察web service.在传统的程序编码中,存在这各种的函数方法调用.通常,我们知道一个程序模块M中的方法A,向其发出调用请求,并传入A方法需要的参数P,方法A执行完毕后,返回处理结果R.这种函数或方法调用通常发

JavaScript Calling WebService by SOAP

Steps: 1. 对于不同浏览器,取得相应XMLHTTP 2. 拼接SOAP message: 3. POST方法: 4. Send: PS: WebService 是Java Axis2搭建的. <script type="text/javascript"> function getXmlHttp() { var xmlHttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera,

webservice、soap、wsdl

搜集了一些关于webservice.soap.wsdl的基本知识,解决工作中遇到的疑问 一 .什么是webservice(用你的话描述webservice)?在什么时候用webservice(webservice能给我们解决什么样的问题)? 一句话概括:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用Java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运

soapui与webservice接口测试

一.web service(SOAP)与HTTP接口的区别 1.什么是web service?WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远程调用技术. 2.特点 客户端发送的请求主体内容(请求报文)的格式为XML格式 接口返回的响应主体内容(响应报文)的格式为XML格式 3.web service相对http (post/get)有好处吗? 接口中实现的方法和要求参数一目了然 不用担心大小写问题 不用担心中文urlencode问题 代码中