性能_2 Jmeter脚本增强
一、写脚本注意事项(回顾):
协议: http,https必须写
域名或ip: 不能有/
请求方法: 看清楚接口文档
路径: 不要把 域名和ip再次
路径中,前后空格要看清楚 %20 空格的urlencoded编码
内容编码: utf8
请求体编码控制:
内容编码
消息头
参数,勾选编码 urlencoded
响应乱码:
乱码原因: GUI的编码
修改配置文件
请求体:
参数: form-data application/x-www-form-urlencoded
消息体数据: json xml,要特别注意:一定要添加请求头,Content-Type:application/json

二、脚本知识点延展:
没有接口文档?
可以通过抓包: F12 、fiddler、wireshark、Charles
第三接口:api接口
swagger: 获取接口信息
2. 录制脚本:
badboy: 曾经很流行,现在已经不维护,已经被遗弃
代理录制: 用于脚本参数比较多,或者用手动编写脚本,一时半会写不出来。代理服务器: 自己启动一个代理服务器,本地,要使用代理服务器的ip和端口,使用自己启动的代理服务器
代理录制脚本:
添加线程组
测试计划 > 非测试元件 > http代理服务器
ip就是你自己电脑的ip,port是可以修改,默认8888
目标控制器,一定要修改 修改为 测试计划>线程组
添加过滤器
3. 启动代理服务器时,会出现一个证书的弹窗,如果要抓取https信息时,就必须使用证书
4. 本地浏览器使用 代理服务器上网
三、脚本功能增强
关联: 前面接口的响应信息,有动态值,作为后续接口的参数
变量: 用户定义变量,用户参数
用户定义变量: 配置元件、测试计划,全局变量**
作用域:作用于整个‘测试计划’
在启动运行时,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变。
用户参数:前置处理器,局部变量
作用域: 作用于当前线程组或当前的取样器
在启动运行时,获取一次值,在运行过程中,还会动态获取值。
如:定义用户变量
var_user: 1888888888
引用变量: ${var_user}
jmeter的函数: 方法
1888888${__Random(1000,9999,)}: 字符串的连接
使用用户定义变量,设置5循环 register + login: 1次register-success 5次login-success
使用用户参数,设置5循环 register + login: 5次register-success 0次login-success
迭代: 一个线程组下所有的接口,全部执行完1次,才算1个迭代,可以勾选每一次迭代循环一次就会出现5,5
函数:方法,双下划线开头,函数名称,严格区分大小写,tools>函数助手
重要的函数
${__counter(,)} 计数器
${__dateTimeConvert(,,,)} 时间格式转换
${__digest(,,,,)} 加密 简单加密
${__intSum(,,)} 整数相加函数
${__P(,)} 获取属性函数
${__property(,,)} 获取属性函数
${__setProperty(,,)} 设置属性函数
${__Random(,,)} 设置随机数
${__RandomString(,,)} 设置随机字符串
${__threadNum} 获取线程号函数
${__time(,)} 获取当前时间戳函数
${__timeShift(,,,,)} 数据格式化
${__V(,)} 拼接函数
性能_2 Jmeter脚本增强的更多相关文章
- JMeter脚本增强之参数化
JMeter测试脚本录制或者编写,在Web应用和App上的操作方式可能有一点点区别(其实也差不多,哈哈),但是当脚本录制好了之后,对测试脚本的强化,包括参数化.关联.文本检查.集合点设置,甚至再往后的 ...
- JMeter脚本增强之集合点
集合点的概念:用于实现所谓并发操作,如果集合点设定是10个人,那么所有的用户就会在同一条起跑线上等着后面的人,等10个人到齐了就哗地一下全部跑出去执行同一个动作.如果设置了超时,那么过了超时时间,有可 ...
- Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能.查看最流行的扩展机制,比较性能并分析哪一个是最好的. 这是乐队之战,JMeter风格. Beanshell V. JSR223 V ...
- LR性能测试脚本增强与调试
脚本增强与调试 一般来说,使用LR的Vugen录制的脚本并不能直接用于测试,需要对脚本进行各方面的增强,主要包括添加注释.关联.检查点.事务.参数化.日志输出等.下面结合刚完成的一个web项目性能测试 ...
- 性能测试培训:Ajax接口级性能测试之jmeter版
性能测试培训:Ajax接口级性能测试之jmeter版 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest认为工具 ...
- 性能测试培训:批量执行Jmeter脚本之ant调用
性能测试培训:批量执行Jmeter脚本之ant调用 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的load ...
- 【转】JMeter脚本的参数化
JMeter脚本的参数化 当你利用Badboy将你的测试脚本录制完毕后,接下来就是脚本的调试工作了.在我看来,调试应该包括有以下几个方面:1.根据测试场景对脚本进行必要的修改:2.脚本参数化:3.添加 ...
- 性能测试之JMeter远程模式
性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMe ...
- fiddler4自动生成jmeter脚本
接口.性能测试任务当遇到从浏览器或移动app自己抓包的情况出现时就变得巨苦逼了,苦在哪里?苦在需要通过抓包工具抓报文,需要通过抓包报文梳理业务逻辑.需要将梳理的逻辑编写成脚本.最最苦的情况是,自己抓包 ...
- 录毛线脚本,直接手写接口最简洁的LoadRunner性能测试脚本(含jmeter脚本)
近日翻看了下招聘信息,很多都要求loadrunner和jmeter这两款工具,毕竟是性能测试的主流客户端并发工具. 录制的问题 做性能脚本是性能测试的基本功,loadrunner和jmeter这两款工 ...
随机推荐
- alia linux
alias lrt='ls -lrt'
- Visual Studio 2019 专业版许可证过期解决办法
Visual Studio 2019 许可证过期,登录微软账户也不行,一直提示点击更新许可证,"无法下载许可证,请检查你的网络连接或代理设置" 解决方案:找到VS2019安装目录, ...
- 关于npm audit fix无法修复问题的解决办法
这两天新建项目 使用npm install的时候一直出现这个错误,使用npm audit fix 无法修复. 查询解决办法: 可以使用淘宝镜像源,会自动修复,然后下载相关依赖包 解决方法如下: 1.使 ...
- LeetCode86 分隔链表
idea: 烦死了,这个题一直因为创立的指针为空,或者接入结点方法不对,结果将两个小链表搞混乱了,不过具体思路ok.将小值结点成一组,大值结点成一组,最后在首尾相连,实现起来也比较简单 /** * ...
- Django中间件的介绍及使用
1.中间件的理解: 是用来处理Django请求与响应的框架级别的钩子,处于wsgi模块与视图函数之间,在执行视图函数之前和之后所做 的动作,是一个轻量级.低级别的插件,作用于全局,使用不当很 ...
- 马志强:语音识别技术研究进展和应用落地分享丨RTC Dev Meetup
本文内容源自「RTC Dev Meetup 丨语音处理在实时互动领域的技术实践和应用]的演讲分享,分享讲师为寰语科技语音识别研究主管马志强. 01 语音识别技术现状 1.语音成为万物互联时代人机交互关 ...
- java异常--处理机制
java异常处理机制 异常处理的关键字:try catch finally throw throws package charpter6.Demo02; public class Test { pub ...
- MySQL 查询执行的过程
查询的生命周期大致可以按照顺序来看:从客户端到服务端,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中 "执行" 可以认为是整个生命周期中最重要的阶段,其中包括 ...
- 制作一个同时具有PE和Windows原版安装方式的U盘
这个方法可能很多人已经制作成功过了,但是呢,也有些人不会的,也可能没想到过,那就是让Win PE与Windows原版安装包在一个U盘里面同时共存. 需要用到的软件有这几样:DiskGenius.Gim ...
- hadoop 第二期
Hive 启动hive 使用命令`hive` 输入命令之后要有一个 ; 结尾!!!!!!! DDL命令 1.创建数据表 create table lxl( num int, name string, ...