之前的篇幅介绍了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]LeetCode30. 与所有单词相关联的字串 | Substring with Concatenation of All Words

    You are given a string, s, and a list of words, words, that are all of the same length. Find all sta ...

  2. [Swift]LeetCode38. 报数 | Count and Say

    The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 ...

  3. [Swift]LeetCode103. 二叉树的锯齿形层次遍历 | Binary Tree Zigzag Level Order Traversal

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  4. [Swift]LeetCode1030. 距离顺序排列矩阵单元格 | Matrix Cells in Distance Order

    We are given a matrix with R rows and C columns has cells with integer coordinates (r, c), where 0 & ...

  5. Python内置函数(64)——tuple

    英文文档: The constructor builds a tuple whose items are the same and in the same order as iterable‘s it ...

  6. 深入探究Lua的GC算法(上)-《Lua设计与实现》

    对于内存的管理,是程序在应用的时候的必需知识点,<Lua设计与实现>中对Lua语言的GC原理做了一个详细的讲解,云风的blog也对其进行了详尽的讲解Lua GC 的源码剖析 系列 给出作者 ...

  7. Spring IOC核心源码学习

    1. 初始化 大致单步跟了下Spring IOC的初始化过程,整个脉络很庞大,初始化的过程主要就是读取XML资源,并解析,最终注册到Bean Factory中: 在完成初始化的过程后,Bean们就在B ...

  8. JAVA 连等赋值问题

    一.描述 关于 Java 连等赋值,例如a=b=c;我们知道它是从右往左依次赋值的,其结果大致可以拆分为b=c;a=b;,但是当栈中没有持有变量的引用时,则会出现问题,例如: public class ...

  9. 如何设计一个 RPC 系统

    本文由云+社区发表 RPC是一种方便的网络通信编程模型,由于和编程语言的高度结合,大大减少了处理网络数据的复杂度,让代码可读性也有可观的提高.但是RPC本身的构成却比较复杂,由于受到编程语言.网络模型 ...

  10. Spring Boot(十二)单元测试JUnit

    一.介绍 JUnit是一款优秀的开源Java单元测试框架,也是目前使用率最高最流行的测试框架,开发工具Eclipse和IDEA对JUnit都有很好的支持,JUnit主要用于白盒测试和回归测试. 白盒测 ...