之前的篇幅介绍了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]LeetCode169. 求众数 | Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  2. [Swift]LeetCode719. 找出第 k 小的距离对 | Find K-th Smallest Pair Distance

    Given an integer array, return the k-th smallest distance among all the pairs. The distance of a pai ...

  3. PostgreSQL基础知识分享

    1.架构 PostgreSQL是一个关系数据库,采用c/s架构.一个PostgreSQL会话包括: 服务端进程——postgres:用于管理数据库文件,并接受来自客户端的数据库连接, 同时代替客户端执 ...

  4. ThinkPHP 数据库操作(一) : 连接数据库

    ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操 作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理.采用 P ...

  5. SpringMVC+JWT+Swagger UI+RestFul

    前言: 其实很早就想写这篇文章了,因为我觉得这会对很多新手有指引作用,当初自己也是瞎子过河的摸索着过来的.目前后台开发比较流行的MVC框架中使用Spring MVC还是比较多的,当然还有Spring ...

  6. Yarn篇--搭建yarn集群

    一.前述 有了上次hadoop集群的搭建,搭建yarn就简单多了.废话不多说,直接来 二.规划 三.配置如下 yarn-site.xml配置 <property>        <n ...

  7. wget Mac OS 下安装

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...

  8. Dubbo(二) —— dubbo配置

      一.配置原则 JVM 启动 -D 参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口. XML 次之,如果在 XML 中有配置,则 dubbo.properties ...

  9. Python接口自动化

    1.unittest单元测试框架&接口介绍 2.接口测试框架设计 3.接口的安全机制 4.Mock服务介绍&实现原理 5.Jenkins使用和配置 6 .发送邮箱设置

  10. dotnet core 开发无缝兼容Http和Websocket协议的接口服务

    在应用接口开发中往往要针对不同协义开发相应的代理服务,但对于Websocket和http这两种协议来说就有些不同,从实现上来看Websocket可以说是Http的升级子协议, 两者在协议处理上基本一致 ...