Jmeter常用操作
Posted 安柠筱洁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter常用操作相关的知识,希望对你有一定的参考价值。
一,Jmeter-http 接口脚本添加cookie
实例:学生金币充值接口 该接口有权限验证,需要admin 用户才可以操作,需要添加cookie
cookie 中key 为登录的用户名,value 从登录接口中获取,登录成功之后会返回sign
第一步:设置登录接口http请求- 获取sign值
第二步:设置学金币充值接口http请求,添加http cookie 管理器
第三步:填写学生金币接口入参
第四步:保存-启动-查看结果
二,Jmeter-http 接口脚本添加HTTP信息头管理器
实例:获取所有学生信息接口 需要添加header信息,key为Referer value 为http://api.nnzhp.cn/
第一步:设置获取所有学生信息接口http请求
第二步:添加http信息头管理器
第三步:保存-启动-查看结果
三,Jmeter-文件上传与下载
实例:文件上传接口
第一步:设置文件上传接口http请求
第二步:保存-启动-查看结果树
文件下载
保存-运行-查看结果树
四,Jmeter-参数化
实例:添加学生信息接口 这个接口是用来讲入参是json类型的
1,用户定义的变量 这种是为了方便管理参数,只能有一个值
2,函数生成器 可以参照一定的规则生成数据,比如说生成一些随机数
点击选项-> 函数助手对话框-> 选择一个功能-> 输入值-> 点击【生成】-> 复制该字符串至需参数化的位置
3,从文件中读取 事先写好一些数据,然后从文件中读取
五,Jmeter -关联 关联就是把获取到的返回的值,保存起来给别的请求使用,或者做一些其他的处理
1,正则表达式关联 需要注意正则表达式提取器的放置位置,必须放在登录请求下面。因为,sign 值是从登录接口里获取到的
正则表达式就是自动的帮你把某个值,从上一个接口的返回中取到,然后放到下一个需要使用它的接口里面。
学生金充值的例子就是,正则表达式先从登陆接口里面把sign取到,然后放到了充值接口的cookie中
正则表达式匹配写法窍门,把需要抓的值复制 "sign": "cd2b43f1688e472e3a516b5a2c6831e8", 将需要关联的值用(.*) 代替 即可 "sign": "(.*)",
常见错误 : "sign": "(.*)", 缺少空格
2,通过jp@gc - JSON Path Extractor 关联 需要关联login_info 中的sign 值 同样需要注意jp@gc - JSON Path Extractor 的放置位置,必须放在登录请求下面。因为,sign 值是从登录接口里获取到的
sign在login_info 这个json串里面存放着,取sign 值 就要先取到login_info 的值,再取sign
json path extractor中使用$代表原来接口的返回值 $.login_info.sign 注意 "." 不能省略
格式如下:
六,Jmeter 操作mysql
1,导入jdbc 的 jar 包,因为Jmeter 本身不能直接连接mysql ,所以需要导入第三方的Jar 包 ,来连接mysql
2,创建数据库连接配置
3,配置mysql 的url, 端口号,帐号,密码
Database url 格式参考:jdbc:mysql://192.168.1.116:3307/bugfree?allowMultiQueries=true
其中 192.168.1.116 为url 3307 为端口号 bugfree 为帐号
定义 variable name 如下:
select 语句 query type 设置成 select statement ,如图
insert 语句 query type 设置为 callable statement 如图
附 sql 注释格式 如图
七,解决中文乱码问题
解决方案:修改配置文件{JMETER_HOME}\\bin\\jmeter.properties 中的默认显示字体,改为系统支持的中文字体(可进入系统目录【控制面板\\所有控制面板项\\字体】查看)即可。
# 默认字体设置的配置项如下黑体标示所示 #JSyntaxTextArea configuration #jsyntaxtextarea.wrapstyleword= true #jsyntaxtextarea.linewrap= true #jsyntaxtextarea.codefolding= true # Set 0 to disable undo feature in JSyntaxTextArea #jsyntaxtextarea.maxundos= 50 # Change the font on the (JSyntax) Text Areas. (Useful for HiDPI screens) #jsyntaxtextarea.font.family=Hack #jsyntaxtextarea.font.size= 14 |
可直接取消注释,或将配置项改为如下所示,重启JMeter 即可。
jsyntaxtextarea.font.family=宋体 |
修改配置文件重启JMeter后,在 Body Data 中输入中文时,即可正确显示
以上是关于Jmeter常用操作的主要内容,如果未能解决你的问题,请参考以下文章