使用Jmeter至WebService压力测试
JMeter的作用
二:关于Jmeter的相关环境变量的配置类似于Java的配置,參考网上资料
三:Jmeter针对Http协议的webservice測试实例。
1:首先在測试计划中新建一个线程组
当中,线程属性中线程数和循环次数表示一次执行測试的时候真正执行的次数。也即訪问webservice的次数.
2:线程组以下新建一个HTTP请求(关于訪问接口服务的相关地址配置和一些參数的配置)和HTTP信息管理器(发送webservice服务时候的公共请求头),聚合报告(測试报告).
四:配置好一切之后,点击启动运行測试
=============we test webservice by http head start===========
name=clark
=============we test webservice by http head end===========
备注====================================下面为关于webservice服务的配置集成到spring中
applicationContext_webservice.xml
<?
xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config />
<import resource="classpath:META-INF/cxf/cxf.xml" />
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans><!-- 这里配置你的webservice bean定义。
參考 org.iboxpay.payment.merchant.ws.MerchantWebService -->
<!-- <ref bean="orderWebService" /> <ref bean="merchantWebService" /> -->
<ref bean="clearUserWebService" />
<ref bean="merchantWebService"/>
<!-- <ref bean="balanceWebService" /> -->
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>
<jaxrs:providers>
<!-- <ref bean="jsonExMapper" /> -->
<ref bean="jaxbProvider" />
<ref bean="jsonProvider" />
</jaxrs:providers>
</jaxrs:server>
<bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider" />
<!-- ********************使用jackson作为序列化器*********************** -->
<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
</beans>
web.xml文件里CXF插件配置webservice
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
Java中web service服务的配置
package com.iboxpay.clear.webservice;
import javax.annotation.Resource;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.springframework.stereotype.Service;
import com.iboxpay.clear.service.SysResourceService;
@Path("/clearPro")
@Service("clearUserWebService")
public class ClearWebService {
@Resource
private SysResourceService sysResourceService;
@Path("/dispath")
@POST
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public String dispath(String jsonStr) {
System.out.println("=============we test webservice by http head start===========");
System.out.println(jsonStr);
System.out.println("=============we test webservice by http head end===========");
return "can you";
}
}
假设须要查看运行測试之后在Jmeter中的返回结果,我们须要在线程组以下新建一个察看结果树(右键线程组>加入>监听器>察看结果树),在响应数据一栏即能够看到响应返回的结果
注意:在Jmeter发送JSON字符串的格式进行測试的时候,我们传递JSON參数的时候不能给參数名称,而应该直接给值既能够。
否则传到后台的时候会包括一系列的非字符串样式--导致其乱码。无法正确解析为我们须要的对象。
{"name":"zhangsan","description":"its"}既能够,而无需jsonStr = {"name":"zhangsan","description":"its"}其传过来的json參数我们仅仅须要解析为我们后台相应的对象就可以。
/**
* 将JSON字符串 转换为对象
*
* @author weiyuanhua
* @date 2010-11-18 下午02:52:13
* @param jsonStr
* JSON字符串
* @param beanClass
* 泛型对象
* @param field
* 对象中须要忽略的属性
* @return
*/
public static Object jsonToObject(String jsonStr, Class<?> beanClass,String... field) {
JsonConfig jsonConfig = getJSONConfig(field);
JSONObject jsonObject = JSONObject.fromObject(jsonStr, jsonConfig);
return JSONObject.toBean(jsonObject, beanClass);
}
private static JsonConfig getJSONConfig(String... field) {
JsonConfig jsonConfig = new JsonConfig();
if (field != null) {
jsonConfig = new JsonConfig();
String[] exclu = new String[field.length];
for (int i = 0; i < field.length; i++) {
exclu[i] = field[i];
}
jsonConfig.setExcludes(exclu);
}
return jsonConfig;
}
使用Jmeter至WebService压力测试的更多相关文章
- JMeter接口测试和压力测试
JMeter接口测试和压力测试 JMeter可以做接口测试和压力测试.其中接口测试的简单操作包括做http脚本(发get/post请求.加cookie.加header.加权限认证.上传文件).做web ...
- jmeter简单得压力测试
Jmeter教程 简单的压力测试 Jmeter是一个非常好用的压力测试工具. Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力测试 ...
- (转)使用JMeter进行Web压力测试
使用JMeter进行压力测试 说到压力测试,一般第一反应都是LoadRunner.这个软件也确实是自动化测试的一个事实标准.无奈这个软件太过庞大,以及不能在MacOS上使用.我由于项目的需要,需要对一 ...
- Jmeter入门(压力测试)
Jmeter介绍 Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试). 而且用Jmeter 来测试 Restful API, 非常好用. ...
- Jmeter性能测试-分布式压力测试
作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试.刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上 ...
- Jmeter使用指南----压力测试工具
来源: https://blog.csdn.net/u012111923/article/details/80705141 https://www.cnblogs.com/st-leslie/p/51 ...
- 【转】Jmeter做web压力测试时设置持续时间注意点
头一回使用jmeter做web的压力测试,遇到个很莫名其妙的问题,不管我的线程组怎么设置,它就是执行一次就结束了. 设置循环次数为300,不使用调度器--〉执行一次就结束了,循环次数未生效 设置循环次 ...
- JMeter进入接口压力测试
关键字: Jmeter.单接口.压力测试.插件监听.服务器端 摘要: 使用Jmeter对单个接口进行压力测试:监听并发量对接口响应时间.服务器资源占量.Jmeter本身只能获取到Tomcat的状态,所 ...
- jmeter APP接口压力测试
第一步:获取开发文档,了解接口地址和参数名 第二步:jmeter中添加需要测试的接口 a.设计APP的接口框架: b.http请求默认值设置如下: c.接口中应需要用到sign字段,加密字符串与时间戳 ...
随机推荐
- vc根据域名获取IP地址 gethostbyname()函数
以下是VC Socket初始化时用到的两个函数 一.WSAStartup函数 int WSAStartup ( ...
- WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]
原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码 ...
- android中获取 bitmap 像素的颜色 之吸管取色功能
本功能是参考android API colorPickerView修改,实现类似与PS中吸管取色功能.也就是可以对图片的任意位置取该位置的RGB.本demo中,完成了色盘取色功能.当点击色盘的某个位置 ...
- AdTime:多屏时代下传统媒体的鼓起
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzk1MTQzNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- android的JNI标准 android的NDK
转载的! Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) ...
- javascript笔记整理(数组对象)
1.属性 a.length--设置或返回数组元素的数目 var a=[1,2,3,45,5]; alert(a.length=6) 结果:6 alert(a[5]) 结果:undefined b.co ...
- Ajax Post提交事例及SpringMVC注解@RequestMapping取不到参数值解决办法
var xmlHttp; //定义变量,用来创建xmlHttp对象 function ajaxfunction(url,onreadystatechangMethod,param){ // 创建xml ...
- C#、WinForm、ASP.NET - Md5散列加密
MD5值概念解释: 转载自:http://free0007.iteye.com/blog/2047163 所 谓MD5,即"Message-Digest Algorithm 5(信息-摘要 ...
- Java Thread 那些事
这篇文章被压在草稿箱许久,最近公司内部的技术社区有同学贴出了几篇分享 Java线程的文章,发觉有很多概念没有讲清楚,所以花点时间继续撰写,便有了这篇博文. 本文只聚焦 JVM 层面的线程模型,不考虑和 ...
- commondatastorage.googleapis.com訪问失败高速解决
谷歌更新以后非常多sampleproject下载不了. http://commondatastorage.googleapis.com訪问失败高速解决这个问题. 使用在线代理就可以,随便推荐一个htt ...