[Win+Jmeter]新人视角-快速上手Jmeter

1 知己知彼

1.1 简介

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

1.2 JMeter的作用

1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。

2 快速上手

2.1 前期准备

1、安装Jmeter:百度一大把,可参考这个:Jmeter安装教程
2、API接口:想做接口测试那当然得有接口供你调用,提供个比较方便的接口网站:聚合API

2.2 开始实战

2.2.1 创建Threads线程组

创建用户组
一个 Test Plan 想要被执行,那么第一步就是需要添加 Threads (Users),可以大概理解为驱使一组用户为我们执行这个计划。

在Test Plan右键,依次选择Add->Threads(Users),选择所需即可。本次我们就先使用Thread Group为例进行讲解。

如上图所示,Threads(Users)可分为:
1、Thread Group:这个就是我们一般会接触到最多的线程组。通俗的讲,一个线程组可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

2、setUp Thread Group:一种特殊的线程组,是所有Thread Group并发之前的准备工作,必须是在Thread Group开始之前完成的并且拥有独立的线程设置。如果操作过RF的同志们一定不会感到陌生,和RF的Suite Setup及Test Setup功能类似。

3、tearDown Thread Group:和setUp Thread Group完全相反的一种线程组,是在所有线程组运行结束后进行的。


2.2.2 配置Threads线程组

配置线程组
Name:线程组名称,按需自己取名。
Comments:注释。
Action to be taken after a Sampler error:Sampler执行错误后的动作。
---->Continue:忽略错误继续执行该线程组下一个Sampler请求
---->Start Next Thread Loop:出错后执行下一组线程请求。Demo:一个线程组里有三个接口,执行到第二个接口遇到错误,就不执行第三个接口了,直接跳到下一个线程组开始循环
---->Stop Thread:停止线程。有Sampler出现错误,在当前Sampler错误处停止运行(循环停止),直到其他线程执行结束完毕,会返回出错前的结果
---->Stop Test:停止测试。有Sampler执行有错误,则当前正在执行的Sampler执行完毕后停止测试;还没有执行的Sampler不执行,不返回出错前的结果
---->Stop Test Now:立即停止。当一个Sampler执行出现错误,则所有的测试立即停止执行(类似于硬停止),有正在执行的Sampler,立即停止;还没有执行的Sampler不执行。
Number of Threads(users):线程数,一个线程组需要启动的线程数。
Ramp-Up Period (in seconds):设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程;如果需要立即启动所有线程,将此设定为0即可。
Loop Count:循环次数,表示每个线程执行多少次请求。勾选Forever就会一直循环直到手动停止为止。

2.2.3 创建Sampler取样器

创建取样器
Sampler是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler 。如 HTTP Request Sampler 、FTP Request Sampler 、TCP Request Sampler 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。

在创建的Thread Group右键,依次选择Add->Sampler,选择所需即可。本次我们以Http Request为例讲解

2.2.4 配置Sampler取样器

该步骤也就是要开始发送我们的请求了,我们以下面的接口为例进行演示

QQ测吉凶API
根据上面的接口信息,我们在Sampler中开始进行配置:
配置Sampler

Name:为该取样器取名,随自己心意。
Protocol:请求协议,一般为请求地址://前面的部分,如http,https等。此处为http。
Server Name or IP:请求发送的目标服务器名称或者IP地址,一般为://后面到第一个/处为止,此处为japi.juhe.cn
Port Number:请求发送的目标服务器的端口号,可不填。
Method:请求方法,如Get、Post、Put等,根据接口要求设置,此处get/post均可。
Path:目标的URL路径(不包括服务器地址和端口),此处为/qqevaluate/qq。

根据接口文档我们可知该请求还需要请求参数一起发送:
1、key:申请接口后会自动生成appKey,可在个人中心-数据中心-我的接口页面查到。
2、qq:按需填写
API-appKey

我们可在Sampler的Parameters页签选择Add添加所需的请求参数,Name填写请求参数的名称,Value填写值。

以上配置完成Sampler。

2.2.5 运行Sampler取样器

在运行前我们还需要做的一个步骤是添加View Results Tree结果树,否则我们无法看到请求的执行结果。
结果树
在Threads线程组右键,依次选择Add->Listener->View Results Tree。

添加完成后,根据下图步骤即可运行并查看返回数据。
API结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值