之前的篇幅介绍了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]LeetCode871. 最低加油次数 | Minimum Number of Refueling Stops

    A car travels from a starting position to a destination which is target miles east of the starting p ...

  2. This relative module was not found:

    晚上项目敲完,关机睡觉!  早上醒来-----打开项目,惊呆了 !This relative module was not found: 如图   这个报错,我当时怎么也没看懂!!!   后来经过测试 ...

  3. PyPI可以使用的几个国内源

    参考 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(dou ...

  4. Python获取文件夹的名字

    dir = "../data/20170308/221.176.64.146/" # root 文件夹下的所有文件夹(包括子文件夹)的路径名字../data/20170308/22 ...

  5. npm WARN deprecated socks@1.1.10: If using 2.x branch, please upgrade to at least 2.1.6

    cnpm安装的时候出现的一个问题. 使用npm install cnpm -g --registry=https://registry.npm.taobao.org命令的时候就会出现下图中的WARN. ...

  6. javascript ES6 新特性之 Promise,ES7 async / await

    es6 一经推出,Promise 就一直被大家所关注.那么,为什么 Promise 会被大家这样关注呢?答案很简单,Promise 优化了回调函数的用法,让原本需要纵向一层一层嵌套的回调函数实现了横向 ...

  7. JVM基础系列开篇:为什么要学虚拟机?

    跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看.所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试.但我经过了几年的学习和实战,我发现其实学习虚拟机并 ...

  8. 个人玩耍VUE..我的点点滴滴,今天很冷,2度!!!

    谢谢博客园,可以记录我的点点滴滴.!!这个小案例的效果图 其中,这篇还是上一篇博客的序章,我们直接看下更新的代码. Cart.Vue <template> <div class=&q ...

  9. python入门学习记录(win7+python3.6)

    1. pip freeze 可以查看安装的模块信息 2. 查看某个模块是否已经安装了 conda(pip) search <moduleName>.图一显示为未安装,图二显示为已经安装

  10. SQL数据库连接语句

    一般的远程访问的写成这样: Data Source=IP ;Initial Catalog=数据库名 ;UserID= 用户名 ;Password=密码 本地访问的写成这样: Data Source= ...