jmeter学习总结

JMETER使用

jmeter学习总结_第1张图片
HTTP Cookie管理器:将多个HTTP请求关联在一起
用户参数:设置用户变量,使用${variety}引用
HTTP请求:http get,post请求等
边界提取器:提取body体中的参数值
调试取样器:打印边界提取器中设置的参数值
察看结果树:查看各种操作的结果

测试计划

可设置全局变量,包括:数据库,URL,测试数据等

配置元件

  • HTTP信息头管理器:对应请求header,包含user-agent,cookie,content-type之类
  • HTTP请求默认值:未添加HTTP请求时,取默认值
  • CSV Data Set Config:选择CSV测试数据文件,指定参数变量,分隔符,通过设置线程数或循环数来执行测试数据

前置处理器

  • 用户参数:此处为局部变量,可设置多组,仅对所属的请求起作用,通过设置线程线执行测试数据

数据库连接

JDBC connection configuration
JDBC request
测试计划中添加数据库驱动jar包
parameter values:代替sql语句中?,如有多个,使用逗号分隔
parameter types:参数在数据库中的类型,如有多个,使用逗号分隔
variable names:查询语句返回的值,如返回多个值使用逗号分隔
result variable name:创建一个对象变量,保存所有返回结果,获取具体值的方法:columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”)

后置处理器

  • 边界提取器:提取body体中的参数值
  • XPath提取器:提取body体中html,xml格式的内容,提取格式,如://title
  • json提取器:提取body体中json格式的内容,提取格式$…字段名
  • 正则表达式提取器

断言

  • 响应断言:状态码断言,文本断言
  • json断言
  • 大小断言:断言响应结果大小
  • 断言响应时间:响应时间判断

定时器

  • synchronizing timer:同步定时器
    模拟用户组的数量:
    超时时间:0:一直等待直到达到设置的线程数;不为0:集合多少用户就释放多少用户

监听器

  • 聚合报告:查看
  • 察看结果树:查看响应结果

跨线程组传参

实现多个线程组间的数据传递:

  • 在一个线程组中使用函数setProperty()设置参数名,参数值,并生成函数
  • 生成函数,添加至BeanShell取样器中
  • 在使用参数的线程组中,使用函数property(),配置使用的参数名,生成函数
  • 将函数做为参数名在请求中使用

分布式

  • 控制机(controller或master):
  • jmeter配置文件中:remote_hosts=执行机1IP:端口,执行机2IP:端口,端口默认1099
  • 如控制机不做执行,则无需打开jmeter-server.bat
  • 执行机(agent或slave):
  • jmeter配置文件中:remote_hosts=本机IP:端口,端口默认1099
  • 打开jmeter-server.bat
  • 注意事项:
  • 测试脚本路径在控制机与执行机上,需保持一致
  • 控制机与执行机在同一网段
  • 控制机与执行机java,jmeter版本保持一致
  • 使用jmeter命令执行脚本

逻辑控制器

  • 如果(if)控制器:
    不勾选任何选项:直接输入表达式
    字符器比较:"${param}"=“abc”
    数字比较:${param}=2
    bool比较:${param}=true/false
    勾选interpret condition as variable expression
    将条件解释为变量表达式(需要使用__jexl3 or __groovy 表达式),建议用在性能测试中
    Evaluate for all children?
    勾选表示每执行一个取样器都要使用if控制器
    不勾选只做一次判断,执行所有的取样器,不管后续判断结果是否已变为false

  • ForEach控制器
    使用用户定义的变量设置循环的变量:name_1,name_2
    输入变量前缀:name
    循环:前包后闭
    输出变量

  • 循环控制器
    取样器循环次数

你可能感兴趣的:(jmeter学习总结)