JMter随记
线程组( Threads (Users))理解:一个虚拟用户组,线程组内线程数量在运行过程中不会发生改变。 注意事项:线程间变量相互独立。
一个测试计划内可以包含多个线程组。 可定义内容: 取样器错误后执行的操作:继续执行,启动下一个线程,停止线程,停止测试,立刻停止 线程属性:线程数量,线程启动间隔时间(0为立刻启动所有线程),单线程循环次数,线程执行顺序,是否使用调度器。 调度器配置:持续时间,启动延迟,启动时间,结束时间
HTTP信息头管理器理解:定义信息头,在其覆盖下的所有元件都会使用该信息头。例如定义在测试计划中的信息头,即该测试计划所有请求的信息头,可以添加cookie 和refer信息
##################参数化################:
1、从csv文件中读取,右键线程组中添加一个“配置元件”->“CSV Data Set Config”,Virable Names中填写变量名,如果csv文件中有多个变量,则用逗号隔开,win10 操作系统需要放在jmeter文件中的bin文件夹下,然后再在需要参数化的地方修改填写的参数名即可:"${}"



2、选项-函数助手对话框,可以选择随机数,然后点击数生成,然后修改脚本中的: 某个参数为对应的值即可



3、“配置元件”->“用户定义的变量” ,理解:用户自定义的变量,可用于存储接口路径等信息 ,可以参数化

##################断言##################:
可以验证获取的信息是否正确


##################关联##################
一个接口与另一个接口之间存在前后依赖关系时,在第一个接口增加后置处理器
第一种方法jp@gc - JSON Path Extractor需要提前安装插件:
1、添加后置处理器选择:jp@gc - JSON Path Extractor
学生金币充值 中的sign 从登陆接口返回信息中获得,因此需要在登陆接口中增加后置处理器,检查返回json格式,然后层级结构去取。
例如登陆接口返回
json格式为:
{
"error_code": 0,
"login_info": {
"userId": 1,
"sign": "d58e3582afa99040e27b92b13c8f2280",
"login_time": "20171207113501"
}
}
sign为login_info节点下的信息,因此需要先获取login_info节点然后拿到sign
"$"代表接口返回的全部,然后再返回的全部信息中先找到login_info,然后才能找到sign,即输入的格式为:$.login_info.sign
提前的信息必须为json格式

第2种方法:正则表达式:"sign": "(.*)",
登陆返回的json格式中:"sign": "978969b31afc182e4185b87ac73dfd23", 对应的正则表达式为:"sign": "(.*)",
在登陆下点击右键,选择添加-后置处理器-正则表达式提取器(插件无需安装)

############################连接数据库################################
点击“测试计划”先导入文件: mysql-connector-java-5.1.7-bin ,
1、在线程组上,右键点击添加>配置元件>JDBC Connection Configuration 2、配置连接信息,注意填写Variable name,Database Url填写jdbc:mysql://数据库IP或hostname:端口号/数据库 3、在线程组上,右键点击添加创建>sample>JDBC request :填写Variable name与第4步中Variable name一致。其中“Query type ”选择Select Statement 只支持查询,如果支持其他SQL语句使用选择Callable Statement写sql语句
jdbc:mysql://211.149.218.16:3306/jxz?allowMultiQueries=true&characterEncoding=UTF-8 characterEncoding=UTF-8 解决乱码问题
select * from bt_stu where real_name ='薛宝钗' ;
update bt_stu set phone= '13144471273' where real_name ='薛宝钗' ;
insert into bt_stu (`real_name`,`sex`,`phone`,`type`,`class`) value ('薛宝钗','1','13456784666','1','巨蟹座'); 注意前边是`` 不是''
select * from bt_stu where real_name ='薛宝钗' ;



JMter随记的更多相关文章
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- 这些年一直记不住的 Java I/O
参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以从这个总入口 Java SE 8 Documentati ...
- 千回百折:百度Java研发offer斩获记和经验分享
起因 面试过程 等待offer的过程中悟道 Java面试常考知识点个人总结 过程 百度——作为国内互联网的巨头之一,最近的一些风波对其褒贬不一,但是类似事件不是第一次发生,也绝对不是最后一次,对于真的 ...
- 记一次nginx部署yii2项目时502 bad gateway错误的排查
周六闲来无事,就试着安装和部署下yii2,安装过程没什么问题,但部署到nginx上时遇到了502 bad gatewary问题,折腾了半天才搞定.这个问题是我以前在部署yii2时没有遇到过的,因此记在 ...
- 原生JS实战:写了个一边玩游戏,一边记JS的API的游戏
本文是苏福的原创文章,转载请注明出处:苏福CNblog:http://www.cnblogs.com/susufufu/p/5878913.html 本程序[一边玩游戏,一边记JS的API]是本人的个 ...
- ArcGIS中的标注和注记
在ArcMap中可以使用标注和注记来识别要素,选择标注或注记取决于你需要如何控制文本显示以及在ArcMap中如何存储文本. 1.标注只是临时显示相关数据或字段 2.标注用于长时间保存数据以及显示方式. ...
- 记处理线上记录垃圾日志 The view 'Error' or its master was not found
最近监控线上日志,网站是ASP.NET MVC 开发的,发现不少错误日志都记录同样的内容: The view 'Error' or its master was not found or no vie ...
- 算法是什么我记不住,But i do it my way. 解一道滴滴出行秋招编程题。
只因在今日头条刷到一篇文章,我就这样伤害我自己,手贱. 刷头条看到一篇文章写的滴滴出行2017秋招编程题,后来发现原文在这里http://www.cnblogs.com/SHERO-Vae/p/588 ...
随机推荐
- ado.net 之 oracle 数据库
ado.net 操作oracle 数据库 跟操作mssql 的原来基本一样.只是使用不同的命名空间而已.下面举几个例子: 一. C#读取oracle数据库的表格 ///ado.net 读取table ...
- 【JS】长轮询
循环请求服务器数据 function send () { xhr.open('GET', '/clock', true); xhr.onreadystatechange = function () { ...
- C#任务同步
using System; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; using ...
- 通过fiddler和逍遥模拟器模拟抓包android手机
环境说明 Fiddler/逍遥手机模拟器 安装在10.11.0.148的电脑中 逍遥模拟器会自动生成wifi连接到 10.11.0.148上网 开启https: 在模拟器中打开 http://代理:8 ...
- centos7.5环境下编译安装php7.0.30并安装redis和mongo扩展
.安装php7..30的脚本 # vim install_php.sh #!/bin/bash # 安装基本依赖 yum install -y gcc gcc-c++ htop telnet ioto ...
- Quartz+TopShelf实现定时任务
转自 https://www.cnblogs.com/frozenzhang/archive/2016/04/29/5443778.html 1.创建控制台程序 2.添加引用 添加TopShelf的引 ...
- C++实验一
2-28 #include <iostream> using namespace std; int main() {char x; cout<<"Menu: A(dd ...
- springboot集成mybatis源码分析-启动加载mybatis过程(二)
1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplication中的@EnableAutoConfiguration 2.EnableAuto ...
- Ubuntu18.04安装Python虚拟环境
仅为使用Ubuntu18.04的Python开发人员作参考 1.安装Ubuntu18.04虚拟环境 sudo apt install virtualenv sudo apt install virtu ...
- get方法与post方法的区别与js获取url参数的方式
1.get方法与post方法的区别: 区别一:get重点在从服务器上获取资源,post重点在向服务器发送数据:区别二:get传输数据是通过URL请求,以field(字段)= value的形式,置于UR ...