之前的篇幅介绍了soapUI测试接口, 因为功能丰富, 操作简单, 可以参数化而深受测试小伙伴的喜欢, 今天再给大家介绍一款利器, Jmeter是Apache组织下的免费工具, 我使用的是Mac 系统 , Jmeter3.1版本.

自定义变量的意义:

  1. 一处修改处处修改, 多处地方调用相同变量, 只要修改一个地方
  2. 我们的测试脚本应该不是只能在一套环境上执行的, 通常公司有多套环境, 比如测试环境, 预发布发环境, 生产环境等, 自定义可以很快的在多套环境之间切换,提高脚本重复使用率.

JMeter有一个好处是下载解压后无需安装直接运行, 在bin目录下jmeter双击即可启动. 进入了熟悉的界面的

我们继续往下介绍 :

  1. 启动后左侧界面只显示测试计划, 右键测试计划, 添加->Threads users->线程组
  2. 右键线程组->Sampler->HTTP请求

http请求页面

被测接口是https, 端口号是443, 接口使用post 方法,  如果直接添加参数执行,是无法调通接口的, 那应该怎么办呢?

添加HTTP Cookie管理器或者HTTP信息头管理器,我使用的是后者HTTP信息头管理器, 方法非常简单, 右键线程组->添加->配置元件->HTTP信息头管理器

在HTTP信息头管理中添加cookie

自定义变量

再回到http请求页面, 我们这里定义了host和id为变量, 那么host在哪里设置呢? 继续往下看, 右键线程组->添加->添加元件->用户自定义变量

id我这里举例了一个随机函数, 添加方法是在jmeter菜单中选择选项->函数助手对话框

  1. 选择RandString
  2. Random String Length 是随机数的长度, 我是4位
  3. Chars to use for random string generation 随机数在那些数字或者字符里产生
  4. 点击生成, ${__RandomString(4,0123456789,)} 就会得到这样一个函数, copy到id自定义变量中

以上这些准备工作做好了, 是否可以跑起来了呢? 答案是肯定的,那我们怎么看到运行结果呢? 没地方看吧, 因此还要添加一些查看结果的地方, Jmeter称之为监听器 , 还是老规矩, 右键线程组->添加->查看结果树,监听可以根据自己实际情况添加各种类型. 添加完成之后执行了,见证奇迹的时刻到了, 有点小激动, 点击工具上的绿色执行按钮,看到请求里id是随机生成的一个四位数字

参数化

还是老套路, 右键线程组->添加->配置元件->CSV Data Set Config

  1. 填写参数化文件的地址,本地的文件地址
  2. 读取参数文件编码格式: UTF-8
  3. 定义变量名称,多个变量用逗号隔开
  4. 分隔参数文件的分隔符,默认是逗号

在id.txt文件中可以输入预先设定的id号,然后执行就调用csv中的变量

线程数

在线程组页面的线程属性设置线程数

Ramp-up Period(in seconds) 持续时间

循环次数 循环跑几次

欢迎各位留言讨论互相学习.

如果文章对你有帮助请 关注我的公众号并分享转发, 让更多的小伙伴一起成长.

-END-

-请关注-

推荐阅读

JMeter数据库操作

Jmeter接口测试-正则表达式

JMeter中文返回乱码

Jmeter接口测试-参数化

JMeter接口测试-基础

测试-感想

JMeter 接口测试(一)的更多相关文章

  1. http接口测试——Jmeter接口测试实例讲解

    摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助     一.测试需求描述 1. ...

  2. jmeter接口测试教程

    一.Jmeter接口测试步骤: 1.添加线程组

  3. 通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

    通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

  4. jenkins+ANT+jmeter 接口测试环境搭建

    目的 jmeter很早就接触了,最近又在接触项目的时候整了一下.写这篇博客主要有两个目的 1,为了给自己搭建jmeter做一个总结. 2,在部署过程中遇到过一些坑,在这分享出来,也希望能给需要的人一个 ...

  5. JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建

    在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...

  6. Jmeter接口测试-断言

    JMeter接口测试-断言  对应qq群号:616961231 一个http请求发出,怎么判断执行的是否正确呢? 通过检查服务器响应数据,是否符合预期的数据, 如果是,任务成功,  如果否, 任务失败 ...

  7. jmeter接口测试实战-创建用户

    jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...

  8. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  9. JMeter 接口测试-if控制器

    JMeter 接口测试-if控制器 ​ 使用场景: 当业务场景是用户登录才能支付操作, 不登录点击支付, 页面会跳转到登录页面. 对于接口也是这样, 一个接口需要执行前, 需要有前提条件, 比如0状态 ...

  10. Jmeter接口测试实战-数据传递

    Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...

随机推荐

  1. [Swift]LeetCode437. 路径总和 III | Path Sum III

    You are given a binary tree in which each node contains an integer value. Find the number of paths t ...

  2. Kubernetes 笔记 07 豌豆荚之旅(二)

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...

  3. BBS论坛(二十五)

    25.1.发布帖子后台逻辑完成 (1)apps/models.py class PostModel(db.Model): __tablename__ = 'post' id = db.Column(d ...

  4. Ocelot监控

    网关的作用之一,就是有统一的数据出入口,基于这个功能,我们可以在网关上配置监控,从而把所有web服务的请求应答基本数据捕获并展显出来.关于web的监控,一般的做法是采集数据并保存,然后通过图表的方式展 ...

  5. Python爬虫入门教程 19-100 51CTO学院IT技术课程抓取

    写在前面 从今天开始的几篇文章,我将就国内目前比较主流的一些在线学习平台数据进行抓取,如果时间充足的情况下,会对他们进行一些简单的分析,好了,平台大概有51CTO学院,CSDN学院,网易云课堂,慕课网 ...

  6. 知其所以然~分布式事务cap

    背景 一致性是一个抽象的.具有多重含义的计算机术语,在不同应用场景下,有不同的定义和含义.在传统的IT时代,一致性通常指强一致性,强一致性通常体现在你中有我.我中有你.浑然一体:而在互联网时代,一致性 ...

  7. Netty源码分析(四):EventLoopGroup

    无论服务端或客户端启动时都用到了NioEventLoopGroup,从名字就可以看出来它是NioEventLoop的组合,是Netty多线程的基石. 类结构 NioEventLoopGroup继承自M ...

  8. leetcode — partition-list

    /** * Source : https://oj.leetcode.com/problems/partition-list/ * * * Given a linked list and a valu ...

  9. 多种Timer的场景应用

    前言 今天讲讲各种Timer的使用. 三种Timer组件 .Net框架提供了三种常规Timer组件,分别是System.Windows.Forms.Timer.System.Timers.Timer和 ...

  10. CAN总线学习记录之四:位定时与同步

    一.位定时 1.1 比特率和波特率 1)位速率:又叫做比特率(bit rata).信息传输率,表示的是单位时间内,总线上传输的信息量,即每秒能够传输的二进制位的数量,单位是bit per second ...