JMeter学习报告(一)

1 JMeter的安装

1.1 JDK的安装

由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9)

  1. 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 选择Java SE 8u151/ 8u152,点击JDK下载 

1.2 JMeter安装

官网下载地址:http://jmeter.apache.org/download_jmeter.cgi

1.下载完成后解压zip包

2.启动JMeter 双击JMeter解压路径(apache-jmeter-3.3\bin)bin下面的jmeter.bat即可 要以管理员身份运行

2 接口测试实例

项目网址:http://doc.nnzhp.cn/index.php?s=/6&page_id=8

这是在网上找的接口测试项目,本次测试是基于HTTP协议的接口,该项目提供了详细的接口文档,我们可以通过学习接口文档来设计测试用例。

2.1 获取学生信息(GET请求)

具体步骤如下:

  • 启动JMeter

以管理员身份运行jmeter.bat,在运行JMeter过程中不要关闭此命令窗口。

  • 将JMeter汉化(非必要步骤)

点击“Options”-->“Choose Language”-->“Chinese Simplified”,如下图所示:

  • 添加线程组

右键点击“测试计划” -> “添加” -> “Threads(Users)” -> “线程组” 

这里可以配置线程组名称,线程数,准备时长(Ramp-Up Period(in seconds))循环次数,调度器等参数:

 

线程组参数详解: 

  1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。 
  2. Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。 
  3. 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。 
  4.  Delay Thread creation until needed:直到需要时延迟线程的创建。 
  5. 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远) 

持续时间(秒):测试持续时间,会覆盖结束时间 

启动延迟(秒):测试延迟启动时间,会覆盖启动时间 

启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。 

结束时间:测试结束时间,持续时间会覆盖它。

因为接口调试需要,我们暂时均使用默认设置,待后面真正执行性能测试时再回来配置。

  • 添加HTTP请求

右键点击“线程组” -> “添加” -> “取样器” -> “HTTP请求” 

根据接口文档添加相应的内容

    名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

  注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。

  服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。

  端口号:目标服务器的端口号,默认值为80 。

  协议:向目标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。

  方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

  Content encoding :内容的编码方式,默认值为iso8859

  路径:目标URL路径(不包括服务器地址和端口)

  自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。

  Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。

  Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。

  同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

  • 添加查看结果树

右键点击“线程组” -> “添加” -> “监听器” -> “察看结果树” 

  • 查看请求结果

运行后就可以查看结果了

后面运行其他实例时不再如此详细介绍,只介绍不同的部分

2.2 登录(POST请求)

在登录接口中,接口文档提供了一个测试用户,可以利用该用户模拟测试

登录接口用到的是POST请求方式,入参 username 和 passwd 为必填项,我们再创建1个线程组,在线程组下添加一个HTTP请求和察看结果树,如下:

2.3 添加学生信息(POST请求,JISON类型)

在添加学生信息的接口中,用到的也是POST请求方式,但与登录接口不同的是,它的入参是JSON类型的,接口文档中有1个JSON请求示例,我们可以直接复制过来,简单修改一下即可。在这里,我们再创建1个线程组,在线程组下添加一个HTTP请求和察看结果树,如下:

2.4 学生充值金币(POST请求,添加COOKIE)

根据接口文档,设计测试用例

我们创建一个线程组,在线程组下依次添加登录请求、学生充值金币请求、察看结果树,在登录请求下添加JSON提取器,用于提取cookie,在学生充值金币请求下添加HTTP Cookie管理器,如下:

登录:

充值:

2.5 获取所有学生的信息(GET请求,添加Header)

接口文档:

从接口文档中,我们了解到,要获取所有学生信息,需要添加请求信息头,因此,我们创建一个线程组,在线程组下依次添加HTTP信息头管理器、HTTP请求、察看结果树,如下:

 

2.6 文件上传(POST请求)

创建一个线程组,在线程组下依次添加文件上传请求、察看结果树,如下:

上面所述内容就是网上一个接口测试的过程。

在公司实习期间写的实习报告,后面应该会有更新的..............

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值