接口测试(三)jmeter

用jmeter做http接口的功能测试
首先解决个问题,如果发现乱码现象,包括查看结果数乱码和body里乱码,找到jmeter路径下的bin目录,在jmeter.properties.bat文件,在末尾加入这样一句话,sampleresult.default.encoding=UTF-8
jsyntaxtextarea.font.family=Hack;保存之后重启jmeter,乱码现象就解决了。
jmeter的使用一般操作是,测试计划-右键添加线程组-Sampler-HTTP请求来添加线程组,结果是通过线程组-监视器-查看结果树来查看运行结果;这里写图片描述
下面以几个实例讲解一下jmeter的使用:
1、get请求
a、获取学生信息
这里写图片描述
填写截图中标出的ip、方法、路径、参数后点击绿色运行按钮,在查看结果数查看运行结果;
2、post请求
a、添加学生信息
以key-value形式传参的post请求,操作与get请求一样,只不过方法处,由get改为post,下面以json传传参为例;
这里写图片描述
json串是写在body里的。
3、涉及Cookie的接口测试
a、学生金币充值
选中涉及Cookie的HTTP请求-右键添加-配置元件-HTTP信息头管理器;这里写图片描述
HTTP信息头管理器-添加,填写key-value的值
这里写图片描述
添加Cookie之后, 填写学生金币充值接口需要的数据;
这里写图片描述
注:在添加授权管理器的时候可以看到,有HTTP Cookie管理器,相较于信息头管理器,需要填写的数据更多,简而言之,就是信息头管理器更方便易操作;
4、通过接口上传文件
这里写图片描述

jmeter参数化
1、用户自定义的变量
线程组右键-配置元件-用户定义的变量
这里写图片描述
设置成下图这样
这里写图片描述
设置完成后,用${参数化}的形式调用;
这里写图片描述
2、函数助手里的函数
例如,测试有一个注册接口,要求注册名不能重复,这时候就可以利用函数
工具栏-选项-函数助手对话框-选择所需的函数;
a、__random,随机函数
这里写图片描述
把生成的结果复制到想要参数化的参数后面
这里写图片描述
这里写图片描述
通过上图可以看到,注册名zhen123参数化后两位随机生成,如果我们将线程组设置成5,就可以看到上图的运行结果,注册5次,每次的用户名随机生成,用起来很方便;
b、__time
<1>格式化好的时间 20180816214833 格式yyyyMMddhhmmss h代表12小时制,H代表24小时制;
这里写图片描述
这里写图片描述
运行时就可以看到当时注册的时间
这里写图片描述
<2>时间戳 从计算机发明那一天到现在过了多少秒
这里写图片描述
每过一秒,时间戳的值+1,想要知道哪一天的数值,可以用时间戳转换器计算出来,注意,jmeter是java开发的,Java里面的时间戳默认是精确到毫秒,所以除以1000才是真正的时间戳;
3、关联
<1>文件关联
例如,学生金币充值时,需要学生的id,加入想要给指定id号的学生充值,这时就可以建一个文件,调用这个文件,就实现了对指定id充值;
这里写图片描述
这里写图片描述
注意:win10系统可能涉及到跨盘的问题,就算填写了绝对路径,也可能找不到文件,这个时候简单粗暴的方式就是将该文件放到jmeter的bin目录下;
<2>接口关联
调用第一个接口,然后从这个接口的返回数据里面拿到某个值,放到第二个接口里面来用。
例如,学生金币充值,需要先登录用户,这个时候,登录接口的返回值sign就是金币充值中Cookiede的值,
这里写图片描述
这里写图片描述

 {
    "error_code": 0,
    "login_info":    {
      "userId": 1,
      "sign": "d58e3582afa99040e27b92b13c8f2280",
      "login_time": "20171207113501"
                      }
  }

登录的返回结果就是上图,调用的话就是$.login_info.sign ;想要查看这样运行的结果,线程组-添加-sampler-debug sampler,就可以查看运行结果了
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值