JMeter

 

一、JMeter简介 

  jmeter是开源的Java开发的一个压力测试工具,可以测试接口,可以进行压力测试

  备注:1)Jmeter 出现中response出现中文乱码处理方法:打开bin目录打开jmeter.properties文件,添加下 面内容:sampleresult.default.encoding=UTF-8

     2)请求出现中文乱码:打开bin目录打开jmeter.properties文件,添加下面内容:jsyntaxtextarea.font.family=Hack

二、JMeter参数化

  三种方式

  1、用户定义的变量

  添加方式:右键线程组-添加-配置元件-用户定义的变量

  适合应用于多个请求统一要变的值时,且取值少时

  

  

  接口对应参数取值方式:${参数名}

  

  2、函数助手

  添加方法:选项-函数助手对话框

  1)__random    :选择功能下拉选择__random

  random函数是随机读取数据替换原参数,使用该函数随机生成数字,应用于参数需求量大,可填充数字的场景,如电话号码,用户名等

  

  将生成的字符串拷贝到需要参数化的参数后面

  

  执行后可以看到注册用户名随机添加了几位数字,多次循环每次值不一样

  

  2)__counter

  自增,取值不随机,每次加一,第一个值无论写几都只能从1开始

  

  另外一种计数器添加方式:右击请求-添加-配置原件-计数器,这种方式比较灵活可以控制自增量值和最大最小值

  

  

  参考:http://blog.sina.com.cn/s/blog_13cc013b50102wn2w.html

  3)__time

  有时在测试接口时,参数有时需要时间戳或日期格式的数据,可用此函数

  时间戳定义:从计算机发明那一天到现在过了多少秒,每过一秒加1

  jmeter中时间戳默认精确到毫秒,精确到秒要除以1000去掉后三位

  一天86400秒(*N)+当前时间戳 可以自定义时间戳日期

  添加方式:选项-添加函数助手-__time

  年月日时分秒yyyyMMddHHmmss(小写的hh代表12小时制,大写HH代表24小时制)

  

  值为空时直接生成,取的是当前时间戳

        

  3、CSV Data Set Config/CSV数据文件设置

  一般用于已存在数据(比如直接从数据库中导出数据),数据需求量较大等情况

  添加方法:右键请求-添加-配置原件-CSV数据文件设置

  我用mac 4.0版本只支持CSV格式的文件,TXT和Excel都不支持,不清楚其他版本或系统是否支持

  

  多列参数设置

  文件中可以不设置表头  设置后JM中要把忽略首行选中

  

  

  

三、JMeter接口测试:参考接口测试实例 https://www.cnblogs.com/zhangvicky/p/9462574.html

四、JMeter接口关联

  调用第一个接口,然后从这个接口返回数据里面拿到某个值放到第二个接口里面,这个过程叫做关联

  添加方式:右键请求-添加-后置处理器-JSON Extractor

  

  以下返回数据要取sign做后置,所以JSONPath Expression为$.login_info.sign (sign上层是login_info,外层是{}用$.表示)

    

  

  

  登录接口参数化,后置接口如果调用此参数化格式,需要用文件参数化处理方式,随机函数不行

  

 

五、JMeter断言及压力测试

  后续补充。。。

posted @ 2018-08-12 22:04  VickyTest  阅读(1938)  评论(0编辑  收藏  举报