JMter随记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMter随记相关的知识,希望对你有一定的参考价值。

线程组( Threads (Users))理解:一个虚拟用户组,线程组内线程数量在运行过程中不会发生改变。 注意事项:线程间变量相互独立。

一个测试计划内可以包含多个线程组。 可定义内容: 取样器错误后执行的操作:继续执行,启动下一个线程,停止线程,停止测试,立刻停止 线程属性:线程数量,线程启动间隔时间(0为立刻启动所有线程),单线程循环次数,线程执行顺序,是否使用调度器。 调度器配置:持续时间,启动延迟,启动时间,结束时间

HTTP信息头管理器理解:定义信息头,在其覆盖下的所有元件都会使用该信息头。例如定义在测试计划中的信息头,即该测试计划所有请求的信息头,可以添加cookie 和refer信息

##################参数化################:

1、从csv文件中读取,右键线程组中添加一个“配置元件”->“CSV Data Set Config”,Virable Names中填写变量名,如果csv文件中有多个变量,则用逗号隔开,win10 操作系统需要放在jmeter文件中的bin文件夹下,然后再在需要参数化的地方修改填写的参数名即可:"${}"

技术分享图片

技术分享图片

技术分享图片

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

 技术分享图片

技术分享图片

技术分享图片

 

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

技术分享图片

 

 

##################断言##################:

可以验证获取的信息是否正确

技术分享图片

技术分享图片

##################关联##################

一个接口与另一个接口之间存在前后依赖关系时,在第一个接口增加后置处理器

第一种方法[email protected] - JSON Path Extractor需要提前安装插件:

1、添加后置处理器选择:[email protected] - 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随记的主要内容,如果未能解决你的问题,请参考以下文章

ES6 随记(3.4.1)-- 函数的拓展(参数默认值,扩展运算符)

jointJS初使用随记

java 9随记

数论随记

杂项随记

web 学习随记