jmeterSOAP/XML-RPC Request

Posted 软件测试面试汇总

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeterSOAP/XML-RPC Request相关的知识,希望对你有一定的参考价值。




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

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

 

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

  新建一个test plan;

  一个性能测试的负载必须有一个线程组完成,而一个测试计划必须有至少一个线程组。添加线程组操作如下:在测试计划右键单击:添加->Threads(Users)->线程组

jmeter(四)SOAP/XML-RPC Request

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

jmeter(四)SOAP/XML-RPC Request

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

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

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

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

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

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

 

二、添加sampler

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

jmeter(四)SOAP/XML-RPC Request

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

jmeter(四)SOAP/XML-RPC Request


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

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

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

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

jmeter(四)SOAP/XML-RPC Request


 

三、添加监听器

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

jmeter(四)SOAP/XML-RPC Request

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

 

四、聚合报告简析

jmeter(四)SOAP/XML-RPC Request



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



一起成长,一起分享,希望能对您有所帮助,我们是TestMadman,期待您的关注



以上是关于jmeterSOAP/XML-RPC Request的主要内容,如果未能解决你的问题,请参考以下文章

servlet&HTTP&Reques&Response快速入门

servlet&HTTP&Reques&Response快速入门

servlet&HTTP&Reques&Response快速入门

Jenkins出现No valid crumb was included in the reques

npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT npm ERR! network reques...

微信openid的单脚本获取 将 header 至自身,但是reques参数不同,响应也不同-----“单脚本APP”