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常用操作的更多相关文章
- 性能测试—JMeter 常用元件(四)
<零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完整的测试计划包含一个或多个线程组.逻辑控 ...
- 性能测试—JMeter 常用元件(二)
性能测试—JMeter 常用元件(二) <零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完 ...
- jmeter常用四种断言
jmeter常用四种断言 一.Response Assertion(响应断言)二.Size Assertion(数据包字节大小断言)三.Duration Assertion(持续时间断言)四.bean ...
- 转 2 jmeter常用功能介绍-测试计划、线程组
2 jmeter常用功能介绍-测试计划.线程组 1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添 ...
- 【三】用Markdown写blog的常用操作
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Mac OS X常用操作入门指南
前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右) =鼠标左键 control+按下 ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- nodejs配置及cmd常用操作
一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...
随机推荐
- Go -- php 中的pack("H*", $string) 转换成go
pack("H*", $string) 转化成这样: //16进制字符串转[]byte func HexToByte(hex string) []byte { length := ...
- PTCSolution 关注
2013.12.28更新: 经过几次整理和再次租赁下线,点击数明显增加,现在995下线点击数3413.再将2页半的点击数低的下线替换掉,AVG肯定超过4. 这么短的时间整理效果如此明显是我没有想到 ...
- PASCAL 的开源工具
PASCAL 的开源工具: 1)free pascal 代码编译器 http://www.freepascal.org/ 2)lazarus 图形界面开发工具 http://www.la ...
- iOS:导航控制器侧滑出栈实现
介绍:在iOS中,导航控制器UINavigationController是默认实现左侧边缘侧滑手势出栈的,但是如果当开发者对导航控制器子控制实现自定义leftBaButtonItem时,这个侧滑功能就 ...
- Delphi控件开发浅入深出(三)
三.开关控件TlincoSwitch 用过Delphi1(好古老的东东呀!)的人相信都记得这个开关控件 ,不知道当初Borland为什么把这么一个在开发普通应用程序中应用不到的工控控件放到Delphi ...
- unity reflection probe --- forward deferred transparent opaque
deferred 和forward reflection probe 的差别 deferred ref是逐像素的 forward是逐 obj 但我还遇到一个问题就是box projection ref ...
- DXR
https://github.com/ConfettiFX/The-Forge/blob/master/CommonRaytracing_3/ThirdParty/DXR/doc/D3D12%20Ra ...
- http://wsj356428476.iteye.com/blog/1655032
http://wsj356428476.iteye.com/blog/1655032 http://jingyan.baidu.com/article/19192ad83ce167e53e570705 ...
- NDK下IPC问题
由于AllJoyn的join session timeout问题一直无法解决,我们怀疑AllJoyn有些内部变量没有清理干净,因此考虑将AllJoyn相关功能放到一个单独的进程中,一旦join ses ...
- C# 深入理解堆栈、堆在内存中的实现
尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(GarbageCollection),但是我们还是应该了解它们,以优化我们的应用程序.同时,还需要具备一些基础的内存管理工作机制 ...