首页 > 其他 > 详细

JMter随记

时间:2017-12-15 23:22:28      阅读:519      评论:0      收藏:0      [点我收藏+]

线程组( 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随记

原文:http://www.cnblogs.com/jyjcode/p/8040305.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!