Jmeter是apacheg公司基于Java开发的一款开源的压力测试工具,安装Jmeter之前先安装Jdk,具体JDK安装和环境变量配置自行百度。这里不概述。

1.添加线程组

测试计划->添加->Threads->线程组

线程组相当于有多个用户,同时去执行相同的一批次任务。每个线程之间都是隔离的,互不影响的。一个线程的执行过程中,操作的变量,不会影响其他线程的变量值

2.添加HTTP请求

线程组->添加->Sampler->HTTP请求

3.获取所有学生接口

接口文档描述如下:

简要描述:

  • 获取学生信息接口

请求URL:

  • http://api.nnzhp.cn/api/user/stu_info

请求方式:

  • GET

请求参数:

添加察看结构树查看程序响应数据,线程组->添加->监听器->察看结果树,如下图:

3.1  Jmeter察看结果树中乱码:

(1)在jmeter的bin目录下找到jmeter.properties这个文件添加:sampleresult.default.encoding=utf-8

(2)重启jmeter

Jmeter body data里面有乱码怎么解决

(1)在jmeter的bin目录下找到jmeter.properties这个文件添加:jsyntaxtextarea.font.family=Hack

(2)重启jmeter

3.2 Jmeter参数化

  所有的接口测试的访问域名和端口都一样时,一旦服务器地址变更,修改每个接口的IP或域名很费事的。我们可以将其参数化,方便操作

(1)用户定义的变量

  定义变量,填写正确的值,通过名称调用,调用格式为${IP},IP也可以通过HTTP请求默认值设置

  

(2)选项-函数助手对话框中的函数

  • __Random(随机数):random设置取值范围,填写值后,点击生成,调用时直接复制函数字符串即可,随机取值。
  • __counter(自增):counter设置起始值无效,设置结束值无效,默认就是从1开始,只能通过线程数控制执行次数,填写值后,点击生成,调用时直接复制函数字符串即可!
  • __time(时间):时间戳${_time(,)},时间戳表示从计算机发明那一天到现在过了多少秒,去掉后三位,再用转化器转化到现在的时分秒。
  • 使用当时时间${__time(YYYYMMdd-HH:mm:ss,)}

  

(3)从文件中读取参数:

  首先,点击线程组->添加->配置原件->CSV Data Set Config

  

  第二步,准备文件,设置参数化变量名称,文件路径等。读取文件中的数据时,使用数据对应的变量名,格式为${studi},${gold}

             

3.3 关联

  Jmeter中,用jp@gc-JSON PATH Extrator插件,可以获取上个接口的响应数据,用在第二个接口中。

  举例:如何从JSON响应结果中获取登录接口的Sign值,Json中的数据整体是一个字典,字典dict嵌套list,list又嵌套字典dict.

  按下标法取值,login_info是字典的第二个元素即dict.login_info.sign/dict["login_info"]["sign"]

  

  

3.4上传文件

  

Jmeter接口测试之案例实战的更多相关文章

  1. Jmeter接口测试之案例实战(十一)

    在前面的知识体系中详细的介绍了Jmeter测试工具在接口自动化测试中的基础知识,那么今天更新的文章主要是对昨晚的上课内容做个总结. 首先来看Jmeter测试工具在图片上传中的案例应用.首先结合互联网产 ...

  2. Jmeter4.0接口测试之案例实战(七)

    在前面的知识体系中介绍了Jmeter的基本应用,下来通过具体的案例来看Jmeter在接口测试中的具体案例实战部分. HTTP是基于应用层的协议,底层的网络传输层它不需要去关心,同时它是一个无状态的协议 ...

  3. Jmeter接口测试之参数传递(十三)

    在接口自动化测试中,经常会遇到的一种场景就是参数的场景,比如在用户列表中获取所有的用户列表,然后获取到某一个用户的ID,查看该用户的详细信息.首先在这里理清思路,它的流程是,首先获取到数据,然后在Jm ...

  4. Jmeter接口测试之参数化(十)

    在接口测试中,某些时候一些场景会使用到参数化的场景,参数化简单的说就是同一个请求需要不同的数据,比如在性能测试中需要并发多个用户的场景,这样的目的是为了模拟真实的用户场景,需要模拟不同的账号,这里就需 ...

  5. Jmeter接口测试之用户自定义变量(九)

    在使用Jmeter做接口自动化测试中,经常会使用到公共的数据,那么就需要对这些公共的数据分离出来,不管是基于测试框架的思想,还是使用工具来进行做自动化测试,公共数据的分离首先是需要思考的.这里就以获取 ...

  6. Jmeter接口测试之用例数据分离

    之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢? ...

  7. Jmeter4.0接口测试之断言实战(六)

    在接口测试用例中得有断言,没有断言的接口用例是无效的,一个接口的断言有三个层面,一个是HTTP状态码的断言,另外一个是业务状态码的断言,最后是某一接口请求后服务端响应数据的断言.在Jmeter中增加断 ...

  8. jmeter接口测试之登录测试

    注册登录_登陆接口文档 1.登录 请求地址: POST   xxxxxx/Home/Login 请求参数: args={ LoginName:"mtest", // 登录名,可以为 ...

  9. Jmeter接口测试之Get请求

    [一] 在测试计划下面添加一个线程组---------->在线程组下面分别添加HTTP请求.响应断言.BeanShellPreProcessor.察看结果树.聚合报告等内容. [二] 将使用的协 ...

随机推荐

  1. java集合简单特性

  2. maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建(二)之问题

    问题一.当放开controller中的方法,出现如下问题 ### Error querying database. Cause: org.springframework.jdbc.CannotGetJ ...

  3. Vulkan SDK 之Render Pass

    Create a Render Pass A render pass describes the scope of a rendering operation by specifying the co ...

  4. Floyd--P2419 [USACO08JAN]牛大赛Cow Contest

    *传送 FJ的N(1 <= N <= 100)头奶牛们最近参加了场程序设计竞赛:).在赛场上,奶牛们按1..N依次编号.每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平不相上下,也就是 ...

  5. 对于python 3.x与python2.x中新型类的继承特性总结

    (1)一般性继承特性 """ 该文件对于python 3.x 及python 2.x的New-style 类的一般性继承特性进行了说明和测试. (1)实例的继承特性:搜寻 ...

  6. hdu1222Wolf and Rabbit (公约数的巧题)

    一个很坑的问题,想到点子上很好解决,想不到的话头破也不一定能做出来. There is a hill with n holes around. The holes are signed from 0 ...

  7. FTP故障排除

    1,ping 检查 IP是否通 禁PING可以使用TCPING 2,服务器端被动模式设置,可设置固定端口号,保证防火墙上该端口畅通 浏览器默认是主动模式 3,使用FLASHFXP软件可以监测到数据端口 ...

  8. HDU - 4430 Yukari's Birthday(二分+枚举)

    题意:已知有n个蜡烛,过生日在蛋糕上摆蜡烛,将蜡烛围成同心圆,每圈个数为ki,蛋糕中心最多可摆一个蜡烛,求圈数r和看,条件为r*k尽可能小的情况下,r尽可能小. 分析:n最大为1012,k最少为2,假 ...

  9. 再战希捷:西部数据透露96层闪存已用于消费级SSD

    导读 96层堆叠3D NAND闪存已经成为行业主流,包括西部数据这样的传统机械硬盘大厂,也在逐步普及96层闪存,并已经用于消费级SSD. 96层堆叠3D NAND闪存已经成为行业主流,包括西部数据这样 ...

  10. java虚拟机之JVM体系结构

    JVM体系结构: 下面重点介绍运行时数据区域模块: (1)java堆(Heap) 被所有线程共享的一块内存区域,在虚拟机启动时创建 用来存储对象实例 可以通过-Xmx和-Xms控制堆的大小 OutOf ...