最近才入职新公司,好几天没有写博客了,经过一个朋友提醒,刚刚好觉得用Jmeter来做接口测试真的是再好不过了。下面就详细讲解下这两天我利用Jmeter做的接口测试。

【安装Jmeter】

详细见博文:Jmeter+badboy环境搭建

【接口测试之添加测试计划-线程组-sampler】

1.建立测试计划

   只要打开执行Jmeter.bat,就会有Jmeter的桌面运行界面出来,会自动建立一个测试计划,如下图所示:

2.添加完测试计划后,就要添加对应的线程组,所有的测试步骤都是在线程组下面执行的,如下所示:

由于我是要测试多个接口,为了方便控制,我是为每一个业务逻辑建立了对应的线程组。

3.根据自己测试的接口类型,建立对应的测试步骤,我这里就是HTTP接口,所以请求是基于HTTP的,所以要添加HTTP sampler,如下所示:

4.为了清楚每次测试时成功了还是失败了,可以添加一个监控器,对测试内容进行监控,这里要添加的是-->察看结果树

点击右键-添加-监听器-察看结果树,添加完成后,如下所示:

【接口测试之添加测试内容】

下面会就我测试的一些例子来进行讲解,这里没有源码哦~公司的代码不能外传,嘻嘻。如果亲们有遇到需要进行接口测试的,进行类似的更改就可以了。

简单的传参接口测试

1.这里说的例子是发送短信验证码,详细的参数设置见下面截图说明:

新增了一个HTTP请求,

2.测试是否正确,点击Jmeter上面的绿色执行按钮

包含有全局变量的接口测试

有时我们测试会遇到许多重复的参数,每次调用如果要一个一个去改的话,就比较麻烦,这里就可以用到一个办法:参数化。把所有你觉得重复但是改起来又麻烦的,我们可以建立一个用户参数列表。

这里我要讲的就是登录功能:

1.添加一个HTTP请求,并填入对应的登陆所需参数,具体可以根据你们自己的需求文档来传参哦~

这个跟上面说的发送短信验证码是一样的,都需要填好对应的必填内容以及参数名称和值。

2.大家可能注意到了,我这里在设置每个属性的值时,都是采用的${}方式,这里就是我所说的参数化,由于这个是全局变量,所有线程组里面的请求都是可以用到的,所以就需要我们添加一个全局变量:

所以需要注意的是,我们引用参数值的方式为:${名称},第一步里面的userid 取值是${username},最后传进去的值就是 liuhaha这个值,看懂了么?这个就是参数的引用方法,下次你如果需要改名称,就不需要去每个

http请求里面去改动了,直接在这个参数表里面改动就可以了,方便快捷。全局变量就要放在最前,不要包含在线程组里面,直接挂在测试计划下面就好了。

3.填完后,直接点击绿色按钮,运行就可以了。

包含有正则表达式的接口测试(也就是LoadRunner里面常说的关联)

1.新建一个HTTP请求,这里的登陆就会产生一个sessionID,我们进行密码修改时,就会验证这个sessionID,但是每次去填写也比较麻烦,所以我们可以手动做一个关联。

上面的登陆完成后,就会在结果树里面看到登陆成功后会返回一个sessionid,如图所示:

2.如何进行关联呢?跟LR一样,需要找准左右边界,可以看到这里的左右边界很好定义,session值得两端就是左右边界,最后做出的关联正则表达式为:

ulskey":"(.*?)","retmsg  --其中(.*?)就是我们的session值。

3.这里定义对了,就需要建立一个正则表达式提取器,

添加完成后,就要把你第二步里面的正则表达式填进来,如下所示:

4.在修改密码的HTTP请求里面,引用这个必须传的session值:

这里跟上面的引用全局参数是一样的,也是用${}方式

5.然后点击运行,就可以看到引用session成功了。

哈哈~写的有点仓促,下次还会再更新一篇关于Jmeter使用方法的文章。

Jmeter之接口测试的更多相关文章

  1. jmeter做接口测试

    jmeter做接口测试有两种方式: 1. 2.

  2. Jmeter用于接口测试中【接口耦合关联的实现】

    Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取. 1.打开jmeter, 使用的3.3的版本 ...

  3. Jmeter用于接口测试中,关联如何实现

    Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取. 1.打开jmeter, 使用的3.3的版本 ...

  4. 怎样用JMeter做接口测试?

    本文介绍JMeter如何做web service测试,一般来说web服务,一般指的是HTTP请求相关的内容.这里就介绍一下如何利用JMeter做基于HTTP的web接口测试.接口也叫API(Appli ...

  5. 使用jmeter进行接口测试

    目录 jmeter介绍 jmeter安装 修改UTF-8 jmeter主要测试组件 jmeter元件作用域与执行顺序 使用Jmeter进行接口测试 jmeter介绍 JMeter是Apache基金会J ...

  6. 如何用Jmeter做接口测试

    Jmeter介绍&测试准备: Jmeter介绍:Jmeter是软件行业里面比较常用的接口.性能测试工具,下面介绍下如何用Jmeter做接口测试以及如何用它连接MySQL数据库. 前期准备:测试 ...

  7. 使用jmeter做接口测试----柠檬不萌!

    一.乱码解决方案 1.jmeter查看结果树乱码 (1)在jmeter的bin目录下找到jmeter.properties这个文件,添加上 sampleresult.default.encoding= ...

  8. 使用Jmeter做接口测试(学生信息的6个接口)

    使用Jmeter做接口测试,案例中涉及到接口有:获取学生信息.登录.添加学生信息.学生金币充值.获取所有学生信息.文件上传. 一.获取学生信息(get请求) 服务器名称或IP:输入被请求服务器的名称或 ...

  9. 利用Jmeter做接口测试

    本文作者:大道测试团队-孙云 1.在安装jmeter之前先配置好JDK,再配置jmeter环境变量. 2.启动jmeter 启动jmeter: 双击Jmeter解压路径(apache-jmeter-3 ...

  10. jmeter 单接口测试方案(接口无业务关联)

    前言 前面开了一篇讲了Jenkins+jmeter+ant的使用,但没有说到具体怎么投入到项目使用,主要介绍了接口测试定义,流程和环境部署,所以我今天要说的就是我是怎么将这个方案投入到实际中使用的.这 ...

随机推荐

  1. 【转载】CANoe 入门 Step by step系列(三)简单例子的剖析

    来源:http://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704623.html 最好的学习方式是什么?模仿.有人会问,那不是山寨么?但 ...

  2. servlet前台中文参数处理

    @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletExcep ...

  3. java 线程之executors线程池

    一.线程池的作用 平时的业务中,如果要使用多线程,那么我们会在业务开始前创建线程,业务结束后,销毁线程.但是对于业务来说,线程的创建和销毁是与业务本身无关的,只关心线程所执行的任务.因此希望把尽可能多 ...

  4. (转)Java并发编程:Callable、Future和FutureTask

    Java并发编程:Callable.Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一 ...

  5. 配置LAMP实现WordPress

    环境说明: 在同一台主机上实现LAMP(Linux + Apache + MariaDB + PHP) CentOS 7.3.Apache 2.4.6.MariaDB 5.5.52.PHP 5.4.1 ...

  6. JUnit4总结

    JUnit4使用要求: 测试方法必须使用@Test进行修饰 测试方法必须使用public void 进行修饰,不能带任何的参数 新建一个源代码目录来存放我们的测试代码 测试类的包应该和被测试类保持一致 ...

  7. year:2017 month:08 day:04

    2017-08-04 JAVAse 1.final修饰符 final可以修饰类,成员方法,成员变量(static 修饰符不可以修饰类) final的初始化在对象被实例化前即可final 修饰的方法不可 ...

  8. Uva 122 树的层次遍历 Trees on the level lrj白书 p149

    是否可以把树上结点的编号,然后把二叉树存储在数组中呢?很遗憾如果结点在一条链上,那将是2^256个结点 所以需要采用动态结构 首先要读取结点,建立二叉树addnode()+read_input()承担 ...

  9. Open-Falcon第五步安装Query(小米开源互联网企业级监控系统)

    安装Query query组件,绘图数据的查询接口,query组件收到用户的查询请求后,会从后端的多个graph,查询相应的数据,聚合后,再返回给用户. cd /usr/local/open-falc ...

  10. nodejs模块学习: express-session 解析

    nodejs模块学习: express-session 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创 ...