jmeter-一个完整的接口测试的脚本

    使用Jmeter对一个接口地址或者一个页面地址执行N次请求,下面来说说怎么建立一个测试脚本(也称为”测试计划”)。

1.    运行Jmeter.bat

    双击"Jmeter.bat"文件,稍等片刻后Jmeter会被启动,如下图所示:

2.    建立线程组

    在节点"测试计划"下,建立1个被称作"线程组"的东西,如下图所示:

    这个"线程组"的作用是什么呢?

    它的作用就是控制线程的数量。

    单击"线程组"之后,就算建立完成了。效果如下图所示:

3.    建立HTTP请求默认值

在节点"线程组"下,建立1个被称作"HTTP请求默认值"的东西,如下图所示:

    单击"HTTP请求默认值"之后,就算建立完成了。效果如下图所示:

4.    填写"HTTP请求默认值"的表单(以”豆瓣-电影”为例)

    "服务器名称或IP"写:movie.douban.com

    其它地方依照下图所示写,同时当然要符合项目需求,只是大部分的接口测试是这样的而已。

    这样写好后,就可以为接下来的工作减轻工作量

5.    建立单个请求

    在节点"线程组"下,建立1个被称作"HTTP请求"的东西,如下图所示:

    我想建立2个"HTTP请求",这样才能体现出"HTTP请求默认值"的效果。

    单击"HTTP请求"之后,就算建立完成了。效果如下图所示:

    前面已经说过"我想建立2个'HTTP请求',这样才能体现出'HTTP请求默认值'的效果。",所以我建立了2个'HTTP请求'。

6.    填写"HTTP请求"的表单(以”豆瓣-电影”为例)

    第1个HTTP请求的表单

    "路径"写:/subject/1835843/

    其它地方保持默认的值就可以了

    第2个HTTP请求的表单

    "路径"写:/subject_search?search_text=Night+at+the+Museum

    其它地方保持默认的值就可以了

    为什么不需要写表单的其它域值?

    因为在"HTTP请求默认值"已经写过了。

    为什么要在"HTTP请求默认值"提前写这一切?

    因为通常情况下,需求是对同一个网站的不同页面执行性能测试。那么其实通用的一些域值都是相同的,为了减轻工作量没必要每次都写,而是写在"HTTP请求默认值"这1个东西里面就可以了。

    为什么路径只写了一半?

    因为前一半"movie.douban.com"已经在"HTTP请求默认值"写过了。

7.    建立1个监听器

    在节点"测试计划"下,建立1个被称作"查看结果树"的东西,如下图所示:

    当然了你也可以建立"图形结果"、"断言结果"、"聚合报告"、"用表格查看结果"等等其它形式的监听器。每个类型的监听器的作用都是收集性能测试结果,只是呈现结果的样式不同,这个要结合具体的业务来定,或要结合开发人员"希望观察到哪些数据"来定。

    单击"查看结果树"之后,就算建立完成了。效果如下图所示:

8.    只保留1个HTTP请求

    因为,每1个性能测试脚本,只是针对1个接口(或1个页面)执行1次或N次请求。

    所以,需要在测试脚本执行之前,只保留待测接口(或页面)的这1个"HTTP请求"。

    那么,我们可以看到当前的这个测试计划内,包含了2个"HTTP请求"。

    于是,我们暂且"禁用"其中的1个就可以了。效果如下图所示:

    其中1个"HTTP请求"被"禁用"后的效果。如下图所示:

9.    执行1次测试脚本

    切换到"线程组"

    可以看到默认的线程数是"1",循环次数是"1"

    Ramp-Up Period(in seconds)的意思是指"希望在几秒内启动所有的线程"

    执行脚本的操作:Ctrl+R

    在执行脚本前可先执行"清空测试结果"的操作:Ctrl+E

10.    查看测试结果

    切换到"查看结果树"

    单击右侧列表内的这1个"HTTP请求"

    右侧可以分别查看"取样器结果"、"请求"、"响应数据"TAB下的数据

11.    执行另1个HTTP请求

    方法同第8小节的内容。

    具体就是:

    步骤[1]      -        启用另1个HTTP请求

    步骤[2]      -        同时禁用其它的HTTP请求

12.    20个线程数+循环2次的方法

    切换到"线程组"

    设置线程数写"20",循环次数写"2"

    由于线程数比较少,所以不需要考虑如何设置Ramp-Up Period(in seconds)。

13.    20个线程+脚本运行60秒

    切换到"线程组"

    设置线程数写"20"

    循环次数写"永远"

    勾选"调度器"->持续时间(秒)写"60"

    由于线程数比较少,所以不需要考虑如何设置Ramp-Up Period(in seconds)。

-end

时间: 2024-08-02 07:11:37

jmeter-一个完整的接口测试的脚本的相关文章

Jmeter - 一个完整的录制脚本的过程

上1篇介绍了"使用Jmeter对一个接口地址或者一个页面地址执行N次请求",也就是你自己干了一件从"零"开始的事情. 那么这1篇介绍"如何使用Jmeter录制'访问一个接口地址或者一个页面地址'的脚本",有何用途呢?省事儿呗,因为不用从"零"开始了.但是这个方式虽然有利,但也会有弊,那么弊就是你需要对录制完成的脚本再做进一步优化.这么看来也挺费劲的,但是存在即合理,这项技能(录制脚本再执行测试)会比不会好. 1.    运行Jmeter.bat 双击"Jmeter.bat"文件,稍等片刻后Jme

Jmeter工具进行一个完整的接口测试

Jmeter工具进行一个完整的接口测试 1.创建一个线程组 通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户. 2.输入线程组名字 3.添加一个cookie管理器 用来存储数据交互产生的用户信息,象浏览器一样的存储和发送Cookie,如果发送一个http请求,若这个响应中包含Cookie,那么Cookie Manager就会自动地保存这些Cookie并在所有后来发送到该站点的请求中使用这些Cookie的值.每个线程都自己存储cookie的区域.在cooki

Jmeter编写简单的接口测试

一.接口测试环境准备 Jdk1.8或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html Jmeter,下载址址:http://jmeter.apache.org/download_jmeter.cgi 插件的下载安装地址:http://www.jmeter-plugins.org 二.编写脚本 打开jmeter 选择测试计划右键-添加-Thread(Users)-线程组 创建完成右键点击线程组-sampler

【如何快速的开发一个完整的iOS直播app】(播放篇)

前言 在看这篇之前,如果您还不了解直播原理,请查看上篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,集成ijkplayer成功后,就算完成直播功能一半的工程了,只要有拉流url,就能播放直播啦 本篇主要讲解的是直播app中,需要用到的一个很重要的开源框架ijkplayer,然后集成这个框架可能对大多数初学者还是比较有难度的,所以本篇主要教你解决集成[ijkplayer]遇见的各种坑. 很多文章,可能讲解的是如何做,我比较注重讲解为什么这样做,大家有什么不明白,还可以

[转]一个完整的Installshield安装程序实例

Installshield安装程序实例—基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思.这个安装程序虽然比较简陋,在行家眼里可能是小菜一碟,但

2.4、一个完整的程序

整个 hello.py程序脚本就是把前面介绍的三部分合并到一个文件中. hello.py:一个完整的 Flask 程序 #!/usr/bin/env python #_*_ coding:utf-8 _*_ from flask import Flask app = Flask(__name__) @app.route('/') def index(): return '<h1>Hello World!</h1>' if __name__ == '__main__': app.ru

一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一

原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(三) --高级设置一 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(二) --基本设置二 第二部分:脚本编程 在开始进行编程前,我们先明确一下我们要用编程来弥补前面设置的哪些功能的不足 1. 显示软件许可协议 2. 判断是否安装了本软件所需要的先决软件JKD1.6.0_04,如无,则启动外部安装程序进行安装(同样原理可以用来判断是否安装了其他软件,只要该软件在注册表中有键值) 3. 用户的输入信息.所选安装

一个完整的Installshield安装程序实例-转

一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(一)---基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思.这个安装程

一个高并发的websocket脚本

一个高并发的websocket脚本 ?????? 根据最近公司上线一个直播项目,但是有一天测试那边一脸苦逼的来找到我,问我有什么好工具可以实现高并发的测试,他使用jmeter限制了400个并发数(个人没去研究过不知道是否真的限制),后来我第一时间想到python写一个脚本,也没想多小就答应帮他搞一个测试脚本. 首先整理思: 要实现高并发不到两点 多进程 多线程 首先安装先要环境: pip install websocket pip install threadpool pip install w