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请求脚本基本就这几类了。

时间: 2024-08-02 15:29:06

jmeter测试HTTP请求的相关文章

使用Jmeter测试java请求

1.性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发.打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2.本文举的例子是Java实现通过传入两个参数,将值写入到文件中 开发思路1.使用Eclipse创建Maven 项目,配置Pom文件,引入Jmeter开发Java请求所需的依赖包:2.创建输入参数类,和测试类,然后继承JavaSamplerClient,实现四个主方法:3.对编写好的项目进行编译.打包4.把

第二篇--Jmeter测试Java请求

前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的ApacheJMeter_core.jar和ApacheJMeter_java.jar复制到lib下,然后导入下图jar包   2.AbstractJavaSamplerClient是Java请求的核心接口,实现接口AbstractJavaSamplerClient,sampleResult的开始和结束方

jmeter的http post请求与测试Java请求

1.jmeter 测试Java请求 1.1 建立测试类,在被测程序中添加测试类 1.2 将测试程序打包,打成不可运行的包 1.3 将打好的包,放在$JMETER_HOME/lib/exts下面,把测试包依赖的jar放在$JMETER_HOME/lib 2.jmeter测试https post http://my.oschina.net/u/147181/blog/164873 2.1 填写好地址及路径,协议修改为https 端口和代理默认即可

jmeter测试TCP服务器/模拟发送TCP请求

jmeter测试TCP服务器,使用TCP采样器模拟发送TCP请求. TCP采样器:打开一个到指定服务器的TCP / IP连接,然后发送指定文本并等待响应. jmeter模拟发送TCP请求的方法: 1.新建线程组,然后在线程组中新建TCP采样器 TCP采样器中填写服务器地址.端口和"要发送的文本",其它选项根据需要选填: re_use connection表示重复发送连接请求 close connection 关闭连接 如果TCP请求需要用户名/密码,可以在登录配置中填写 2.新建&qu

jmeter测试 flask 接口请求

flask的代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- from flask import Flask, url_for, request app = Flask(__name__) @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': print(request.form['userid']) # 获取post穿过

jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中

有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求中把订单号写到包括有线程号的命名文件中.完成出来的样子是这样的 步骤如下: 1.Jmeter 发送http请求 1) 新建HTTP信息头管理器 2) 新建HTTP请求 2,在下单过后返回部分信息如下:"msg":"下单成功","result":&qu

【转】JMeter学习(十九)JMeter测试MongoDB

JMeter测试MongoDB性能有两种方式,一种是利用JMeter直接进行测试MongoDB,还有一种是写Java代码方式测试MongoDB性能. 第一种方法 1.编写Java代码,内容如下: package com.test.mongodb; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.UUID; import java.util.conc

jmeter测试dubbo接口

本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文件为: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation=

如何用jmeter 完成http请求

首先测试接口前我们先创建一个'线程组'为压测做准备 需要添加 察看结果树 来查看请求后的返回值及发送的请求 添加'http请求'创建个各种请求及设置参数,无论什么请求什么参数都要先添加它 1.使用jmeter 发送get请求 2. 如何查看发送的请求及返回值 3. 如何使用jmeter完成 入参为 json 的post请求 4. 添加header post请求 ,首先先添加http信息管理器,设置header参数  ,创建http请求参数 5. 添加cookie 请求,首先添加http cook