jmeter测试HTTP请求
HTTP超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。(详情参考看一下百科)
HTTP发送请求有GET,POST,PUT, OPTION,HEAD,DELETE,TRACE,CONNECT 8种,目前来说最常见的是GET、POST和PUT请求,其他的比较少见。
1、GET:用于不修改数据仅向服务器获取资源(比如我们常见的访问某个网站首页,进入某个页面啊...基本都是用的GET请求方式)
2、POST:用于向服务器端提交数据并获取服务器返回的处理结果(比如登录某个网站,注册提交等等一般都采用POST请求方式)
GET跟POST的区别:其实GET能做的POST方式也基本都能做,看你服务器端怎么处理。硬要说两者的区别,两者的最大区别在于,GET请求把所有请求参数都放在请求路劲里(比如 http://e.dangdang.com/classification_list_page.html?category=YXJJ&dimension=sale&order=0,后面的三个参数及值:category=YXJJ&dimension=sale&order=0都在路劲里)而POST则把参数放在BODY里提交,这样做的好处主要有以下几点:
A、GET请求参数放在路劲里 ,如果参数过多的那么会导致URL过长,而每种浏览器的URL长度都有各自的限制(比如chrome 8182字符 IE限制最长2083...)如果超过限制,那么请求就会失败,而POST的话请求BODY里没有这方面的限制;
B、GET请求参数放在路径里任何人访问网站一眼就能看到你的参数名参数值...这样不安全,容易造成信息泄露,比如登录请求,如果用GET,把用户的密码显示在URL里,别人一眼就看到了
3、PUT:通常用于向服务器发送请求并也可以提交数据,PUT跟POST类似。
[OK 更多HTTP请求内容请参考百科]
咱们这里接着介绍如何使用jmeter来发送HTTP请求测试HTTP协议的接口吧。详细步骤如下:
打开jmeter,右键测试计划,新建一个线程组:
右键线程组-->添加一个HTTP Sampler:
这里我们要测试的接口文档假设如下:
1.HTTP接口1:jmeter测试http form表单参数的get请求
请求地址:http://api.nnzhp.cn/getuser
请求方式:GET
接口入参:userid(form表单参数)
返回格式:{"age": 18, "code": 200, "id": "1", "name": "小明"}
则jmeter配置如下:
OK,到此请求脚本就做好了,接下来添加一个监听器 :查看结果树,方便查看运行结果:
接下来再看另一个接口:
2.HTTP接口2 :jmeter测试http json入参的POST请求
请求地址:http://api.nnzhp.cn/getmoney
请求方式:POST
请求入参:userid(json)
返回格式:{'code':200,'userid':1,'money':1000}
jmeter中HTTP请求脚本配置如下:
运行结果如下:
再看一个接口:
3.HTTP 接口3:jmeter测试有header头信息Content-Type application/json 的http请求
请求地址:http://api.nnzhp.cn/getuser2
请求方式:POST
请求头:Content-Type: application/json
请求入参:userid
结果格式:{'code':200,id':1,'name':'小明','age':18}
jmeter请求配置如下:
写好HTTP请求后右键-->添加一个配置元件 http请求头:
填写头信息:
运行查看结果:
4.HTTP接口4:Jmeter测试带cookie的http请求:
请求地址:http://api.nnzhp.cn/setmoney2
请求方法:POST
请求参数:userid money 表单参数 【需要添加cookie-->token=token12345】
返回格式:{'code':200,'success':'成功'}
脚本配置如下:
这里需要说明一下,cookie本身是放在http请求头里传送的,所以这里jmeter添加http请求的cookie时,直接把cookie放在HTTP信息头管理器里:
查看运行结果:
5.Jmeter测试HTTP请求上传文件:
请求地址:http://api.nnzhp.cn/uploadfile
请求方法:POS
请求参数:file (文件)
返回结果:{'code':200,'success':'成功'}
jmeter 脚本配置如下:
注意,使用jmeter上传文件时,需要要选中:Use multipart/form-data for POST 或者就要在MIME类型里指定:multipart/form-data
查看运行结果:
OK,常见的HTTP请求脚本基本就这几类了。
jmeter测试HTTP请求的更多相关文章
- 转:应用JMeter测试solr请求
使用JMeter测试solr请求 一.安装JMeter 在官网http://jmeter.apache.org/download_jmeter.cgi下载JMeter 直接解压JMeter安装包 Li ...
- jmeter测试https请求之导入证书
jmeter测试https请求 公司最近在搞全站HTTPS改造,进一步提高网站的安全性,防止运营商劫持.那么,改造完成后,所有前后端的URL将全部为https. So ,研究下怎么用Jmeter访 ...
- jmeter测试https请求
测试https请求时,需要添加证书 目录 1.下载证书 2.导入 3.执行https请求 1.下载证书 在浏览器中打开要测试的https协议的网站,以谷歌为例打开,下载证书到桌面 4.一直点击下一步 ...
- 使用Jmeter测试java请求
1.性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发.打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2.本文 ...
- Apache JMeter 测试Http请求
环境安装:JDK 下载:http://jmeter.apache.org/download_jmeter.cgi 启动: 简单HTTP请求测试
- 第二篇--Jmeter测试Java请求
前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的Apa ...
- jmeter(二十二)jmeter测试Java请求
目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter Java Sampler介绍 四.自带Java Request Sampler 一.核心步骤 1.创建一个Java工程: ...
- jmeter测试http请求使用csv参数
创建参数化文件 线程组添加CSV Data Set Config配置元件 为请求添加参数 重新运行查看结果 使用随机参数(JMeter有好多函数可以使用) 查看结果发现使用随机生成的数字 3
- jmeter的http post请求与测试Java请求
1.jmeter 测试Java请求 1.1 建立测试类,在被测程序中添加测试类 1.2 将测试程序打包,打成不可运行的包 1.3 将打好的包,放在$JMETER_HOME/lib/exts下面,把测试 ...
随机推荐
- VS2017 Cordova 出现错误 @ionic/app-scripts 未安装
在安装vs2017 Cordova中遇到出现错误 @ionic/app-scripts 未安装 在系统添加环境变量SASS_BINARY_PATH,将我们下载的win32-ia64-47_bindin ...
- VRTK实现瞬移需要添加的脚本
进入一个新的公司,boss让实现漫游,但是新公司的Unity版本是5.6,我之前的瞬移插件不好用了,无奈之下找到一个我不熟悉的插件VRTK,但是查了很多资料也没有实现瞬移.经过自己查脚本与实验终于得到 ...
- Callable+Future+newFixedThreadPool的应用
最近在处理很多的数据,数据量比较大,但是处理的相对简单一些,没有什么复杂的业务逻辑,然后就使用了多线程去处理.因为一直停留在Thread和Runnable的知识中,项目中使用Callable,刚好可以 ...
- Class类 获取Class对象
阅读API的Class类得知,Class 没有公共构造方法.Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的 获取Class对象的三种方 ...
- EXE转JPG后缀格式工具(真实JPG后缀)
EXE转JPG后缀格式工具(真实JPG后缀) exe转换为jpg工具,双击之后正常运行. 杀毒软件误报 本程序禁止用于违法操作. 下载地址 链接: https://pan.baidu.com/s/1b ...
- 关于JDBC导入mysql的jar驱动的头痛
今天上午想写个小程序,需要调用数据库,查了书和各个博客. 最后卡在导入mysql驱动上了,花了1个多小时才让程序连上数据库. 这里有个小误区,你下载的是zip压缩文件,很多帖子写的都是让你导入驱动,但 ...
- 一,ESP8266下载和刷固件
用自己的小板测试...... 安排上呢 一, ESP8266下载和刷固件(Lua开发----体验一下lua开发的魅力所在) 二, 控制一个灯亮灭 三, TCP服务器 四, TCP客户端 五, UDP ...
- 使用JavaScript循环嵌套解决各种图形
[循环嵌套的规律] 1.外层循环控制行数,内层循环控制每行中元素的个数. [图形题思路] 1.确定图形有几行,行数即为外层循环次数: 2.确定每行中有几种元素组成,有几种元素表示有几 ...
- js模拟点击事件实现代码
js模拟点击事件实现代码 类型:转载 时间:2012-11-06 在实际的应用开发中,我们会常常用到JS的模事件,比如说点击事件,举个简单的例子,点击表单外的"提交"按钮来提交表单 ...
- NET Core度身定制的AOP框架
NET Core度身定制的AOP框架 多年从事框架设计开发使我有了一种强迫症,那就是见不得一个应用里频繁地出现重复的代码.之前经常Review别人的代码,一看到这样的程序,我就会想如何将这些重复的代码 ...