Jmeter测试接口:
层级关系:
测试计划/testplan : ===> 项目/project
线程组/threadGroup ===> class(比如: 一个功能类)
Sampler(根据具体的接口类型选择)===》某个方法(比如一个功能类中的一个大测试点,比如新增报价单)
测试计划下直接可创建的处理器& 作为全局的:
===》HTTP Request Default: 存放协议&系统的IP地址,全局都一样可以引用使用的,
===》HTTP Header Manager: 存放测试计划 级别的 变量。 比如token
JSON提取器 & 设置全局变量
因为每个sampler请示请求数据的格式,都可能不一样,所以可以在每个sampler都可以有自己的HTTP 信息头管理器。
=》在sampler中将某个相应数据设置为全局变量的话,使用后置处理器中的===》Beanshell PostProcessor
=》目前一般的请求相应格式都是json格式,所以,可以只用json提取器将响应中的某个数据提取数来,语法比正则简单易懂。
=》json提取器语法: $开头。用点连接不同层级,不管层级数据格式是字典还是列表,用[下标数字]获取元素
比如: $.第一层.第二层.第三层[1] ==>表示第三层下的第二个元素
设置全局变量:
//newtokenValue是下面函数读取的变量名,tokenTest是引用的变量名,最后一个逗号后面是空,意思是如果读取不到引用的变量
//那么就返回空字符串。
${__setProperty(y,${x},)} : 返回${x}的值并保存在变量y中。 并将y设置为全局变量。
===》引用变量语法格式: ${__property(y)}
线程组=》配置原件=》用户自定义变量:
用户自定义的变量引用时格式: ${变量名}
${__property(变量名)} =》返回变量的值
${__V(commodityID_${x})} :=》它可以被用于执行嵌套函数引用
循环器控制器 & 计数器 :
===========》循环器:sampler处右键=》逻辑处理器中的循环控制器=》
===========》计数器
响应断言:sampler处右键断言=》添加响应断言,然后具体断言中每个选择的意义,进而选择合适的
Jmeter 函数助手:
参数化:
======》1:用户自定义的变量, 比如 IP,端口号。 引用方式,例如: ${IP}
======》2: random函数,生成随机数。 例如:${__Random(1,100,)} , ${__RandomString(6,abcdefg12345!#,)}
======》3:__CSVRead 函数: 比如读取当前路径下的test.csv文件,读取第二列数据: ${__CSVRead(C:\Users\zchen\Desktop\test.csv,2)}
======》4:CSV Data Set Config 配置原件: