接口测试-jmeter篇

利用jmeter可以对接口之间进行关联,也可以通过参数化方式进行值得遍历,当然,也可以使用内置函数进行参数化等其他的需求。下面通过几个接口进行如上的示例

一:接口的参数化

这里有两个接口,一个注册,一个登入。在注册、登入的用户名中进行参数化

登入接口说明:

?

分析接口,用户名课进行参数化。设定参数化文档:
?

在jmeter工具中添加cvs

?

在登入接口中引用:

?

接口响应:

?

二:使用jmeter进行关联

?

如上接口,此接口需要成功,前提条件是:拿到登入返回的sign。问题来了,一个是登入接口,一个是添加金币的接口,如何让添加金币的接口拿到登入接口返回的sign呢?答案是关联。

对接口返回值的取值有两种方法:1、后置处理器的正则表达式取值方法 2、json表达式,注意哦,一定是后置处理器,因为是接口处理请求完后返回的结果,所以动作发生在接口和服务端交互完成后并且返回了结果的后面。好了,废话不多说,我们看操作

分析登入接口的返回值,我们发现返回的格式类型是json,自然而然的想到要用json格式的后置处理器

{
        "error_code": 0,
        "login_info": {
                "login_time": "20180812191620",
                "sign": "e00af804a0a440ed4728cfca54fb54dd",
                "userId": 8586
        }
}

json表达式====>$表示根目录 .表示直接子属性,这块学过xpath的表达式的,触类旁通便可

我们需要的值是sign,所以json的表达式为$.login_info.sign

?

添加金币处调用即可${sign}

?

三,jmeter函数的调用

?

jmeter中有很多内置的函数,__random    __time  __counter等,在这次的接口测试中,有一个接口,添加学生的接口

?

从上面接口分析来看,用户名和电话需要进行参数化,此时,如果参数化,会特别的折腾,需要“投机取巧”。设想,如果把电话号码后四位进行随机生成呢?名字的前缀相同,后缀进行随机呢,是不是可以免去大量的参数化工具呢?随机了多少次,能不能直观的看到呢?

{
    "name":"admin${__Random(0,10000,)}",
    "grade":"金牛座",
    "phone":1367002${__Random(0,10000,)},
    "sex":"女",
    "age":18,
    "addr":""
  }

?

?

记录接口运行时间

在it界,时间有两种时间,一个是时间戳,一个是现实业务上的时间即通常我们说的时分秒。

时间戳:自计算机诞生以来到目前为止中间经过了多少S,java的程序应用中是MS为单位的,所以在转换的时候,需要进行ms和s之间的转换。__time函数,如果不设定日期yyyyMMddHHmmss  (24小时制)    yyyyMMddhhmmss (12小时制)

“时间戳在线转换工具”  https://tool.lu/timestamp/

?

*******************************************************************************************************************************************************************************************************************************************

原文地址:https://www.cnblogs.com/miyatest/p/9499021.html

时间: 2024-11-09 16:46:23

接口测试-jmeter篇的相关文章

接口测试Jmeter+Fiddler组合

接口测试Jmeter+Fiddler组合 在使用完Jmeter在做接口测试之后,个人感觉Jmeter比loadrunner好用,原因是界面操作更加直观,不必像loadrunner在写接口请求函数的时候,需要注意脚本格式之类的问题,再者就是Jmeter返回服务器响应信息比较清晰:只需要掌握HTTP原理即可. 接口测试准备工作: 1.Jmeter环境准备,下载Jmeter压缩包,解压即可:安装jdk配置环境变量: 2.抓包工具Fiddler: 在接口测试中,需要开发人员一共接口相关信息,如接口地址.

接口测试工具篇--jmeter

jmeter的安装及使用在这里不进行讲解了,网上有很多资料 下面开始讲解如何使用jmeter做http接口测试 在jmeter中添加一个http请求,添加方式:测试计划上邮件添加线程组,线程组上邮件选择添加-->sampler-->http请求 服务器名称或ip:接口的url地址 端口:服务器的端口号 路径:接口名称 parameter:接口的参数,点击添加按钮进行添加,这里是key:vlaue形式 Bodydata:选择这种方式可以输入参数为json 文件名称处点击添加:可以测试上传文件的接

接口测试工具篇随笔20150923

最近做的项目有一个接口测试,做到现在思绪很多,也是刚开始做这类测试,在探索中,就先说说我项目中选择的工具吧,一路过来选择了不少工具,在每个阶段我都是寻找满足我的要求就可以了,适合才是最好的,你说呢…… 1.ApacheBench 这个工具是最开始同事推荐给我的,当时花了两个晚上体验了下,觉得基本可以满足项目的要求.准备用它来做测试的,这个工具比较简单,输入命令即可,可以做接口的性能测试,蛮不错的: 2.Fiddler 随着项目进行,对接口测试慢慢有了一些理解,发现fiddler更适合我的项目,并

接口测试-jmeter(未完待续。。。。)

一.jmeter下载安装 1)安装jdk(见博文<windows上安装jdk>) 2)在jmeter官网下载  http://jmeter.apache.org/download_jmeter.cgi 解压后,即可使用:进入bin目录,双击jmeter.bat或者ApacheJMeter.jar 即可启动jmeter ps:jmeter是开源的接口压力测试工具,它是java语言开发的,运行依赖jdk,所以必须要先装jdk

JMeter接口测试-Jmeter向数据库批量插入数据(随机变量的使用)

前言 除了编写Python脚本批量向数据库插入数据以外,今天我们来学习一下如何利用JMeter向mysql数据库批量插入数据吧! 一:添加线程组,添加并配置JDBC Connection Configuration 二:导入mysql驱动包,下载好mysql的驱动包(mysql-connector-java-5.1.22-bin.jar),放到jmeter的lib目录下,选中测试计划,添加mysql驱动包 三:我们需要插入的数据量可以在线程组的线程数.循环次数进行配置,如下,这里只插入10条数据

接口测试-postman篇

一:接口文档说明 接口一:获取学生信息 ? 接口二:login ? 接口三:添加学生信息 ? 接口四:学生金币充值 ? 接口五:获取学生信息 ? 接口六:文件上传 ? 二:HTTP粗解 HTTP特点: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation

一、接口测试第一篇

一.请求包括哪些内容: 1.请求地址 2.请求方法 3.请求参数 4.请求响应 二.HTTP请求包含三个部分 1.请求行:请求地址,请求方法:常见的有get和post 2.消息头:content-type content-length 3.请求正文:请求参数 三.GET和POST请求的特点 1.GET请求: 请求参数放在地址上面,已?打头,参数是键值对存在,多个参数以&衔接 请求无正文 浏览器里有长度限制.不同浏览器对长度限制不同,一般限制1024的长度,所有请求参数也有限制 2.POST请求:

接口测试jemeter篇02

线程组设置属性说明: jemeter参数化: 资料来自网络 原文地址:https://www.cnblogs.com/fppblog/p/11356211.html

centos7搭建ANT+jmeter+jenkins接口测试自动化环境

一.环境准备 因为用到了jmeter和apache-tomcat,centos7必须要有java环境,所以配置jdk和apache-tomcat什么的,就不多说了,自行操作 帮你们偷懒: ant下载地址:http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.10.3-bin.tar.gz jmeter下载地址:http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmet