在使用jmeter进行测试时,需要对上一步响应的明文参数,如userName='tom' token='%sdf%sdkdfj'之类的参数,加密一下,才能进行下一步http请求,
涉及三个问题
1、加密要引入自定义的加密函数
2、要可以拿到第一次http的响应
3、第二次http请求前,要动态构建参数
1、引入加密函数和fastjson
2、在beanShell里拿上一次请求的响应
在第一个请求里 添加,后置处理器
建一个BeanShell Post Processor
3、第二次http请求前,要动态构建参数
第二次http请求时,请求的参数值使用jmeter变量
如
添加,前置处理器
建一个BeanShell PreProcessor
调用加密函数进行加密后,放入变量里
查看jmeter log日志
涉及三个问题
1、加密要引入自定义的加密函数
2、要可以拿到第一次http的响应
3、第二次http请求前,要动态构建参数
1、引入加密函数和fastjson
2、在beanShell里拿上一次请求的响应
在第一个请求里 添加,后置处理器
建一个BeanShell Post Processor
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; //拿到响应值 String json = prev.getResponseDataAsString(); log.info("json="+json); JSONObject obj = JSON.parseObject(json); String dlapp = obj.getString("dlapp"); log.info("dlapp="+dlapp); String ret = obj.getString("ret"); log.info("ret="+ret); String capFlag = obj.getString("capFlag"); log.info("capFlag="+capFlag); //解析后放到变量里 vars.put("dlapp",dlapp); vars.put("capFlag",capFlag); vars.put("ret",ret);
3、第二次http请求前,要动态构建参数
第二次http请求时,请求的参数值使用jmeter变量
如
sign=${sign}
添加,前置处理器
建一个BeanShell PreProcessor
调用加密函数进行加密后,放入变量里
String capFlag = vars.get("capFlag"); String dlapp= vars.get("dlapp"); String ret= vars.get("ret"); log.info("dlapp="+dlapp); log.info("capFlag="+capFlag); log.info("ret="+ret); vars.put("dlapp",dlapp); vars.put("capFlag",capFlag); vars.put("ret",ret);
查看jmeter log日志
发表评论
-
charles4.2下载与破解方法以及配置https
2020-02-26 09:03 2有两个抓包工具 一个是fidder,一个是charles,两个 ... -
序列号批量生成算法
2019-12-05 14:11 0业务处理过程当中,经常需要生成订单号、序列号等,简单的可 ... -
使用ANTLR处理文本
2019-08-28 17:32 773引用 使用 Antlr 处理文本 https://www.ib ... -
解决maven-metadata.xml文件下载卡死问题
2019-04-11 14:02 4007http://192.168.1.110:8081/nexus ... -
rsync备份和删除指定文件
2018-01-02 10:23 2060文件异地备份时,需要将本地文件合并到服务器上,且不能删除服务器 ... -
javaLocale格式化日期和数字
2017-08-25 09:26 878public static void main(Strin ... -
centos6 tomcat 启动脚本 tomcat服务
2017-08-23 11:24 1445系统自动启动tomcat 复制该脚本到/etc/init.d/ ... -
win7 命令行改IP和DNS
2016-12-21 18:35 744使用管理员权限运行CMD //改DNS netsh ... -
jenkins中集成sonar,使用findbug、pmd、checkstyle提升代码质量
2016-09-29 14:58 6186实际上jenkins单独也 ... -
jenkins 集成sonar
2016-09-18 10:14 0jenkins集成sonar可以从插件中心直接更新安装 son ... -
activeMQ5.14权限配置
2016-08-17 13:47 2677activeMQ默认的消息队列没有用户名和密码,可以直接通过T ... -
solaris 使用解压版的jdk
2016-07-27 15:17 769solaris上配置jdk其实也很简单 由于solaris有 ... -
solaris tomcat开机启动
2016-07-27 16:17 624创建文件夹/var/svc/manifes ... -
HibernateTemplate Vs HibernateDaoSupport Vs Direct Hibernate Access
2016-07-26 11:07 736http://forum.spring.io/forum/sp ... -
spring mvc mybatis will not be managed by Spring
2016-07-20 17:30 9896项目运行时发现事务提交不完整,回滚时只能回滚一半。 系统配置 ... -
java里判断一点是否在某个区域
2016-06-03 17:47 1859import java.awt.geom.Path2D ... -
12306的技术升级
2016-04-20 16:17 1040升级的核心是余票查询的升级,余票查询使用存储过程,sybase ... -
工作流的123
2016-04-20 12:58 579三分钟了解Activity工作流 工作流一般会给开发人员提供流 ... -
sping mvc 使用@Value注解为controller注入值
2016-04-17 17:39 10843spring mvc 里有两个配置文件, 第一个,为sprin ... -
googleapis.com域名访问慢的解决办法
2016-04-13 12:09 9811、安装火狐 2、安装插件ReplaceGoogleCDN
相关推荐
总之,JMeter结合BeanShell提供了一种强大的方式来处理复杂的测试逻辑,包括修改HTTP请求参数。通过引入自定义函数,获取并解析上一次请求的响应,以及动态构建参数,我们可以有效地模拟实际应用中的各种场景。
- **BeanShell预处理程序**:在采样器执行之前运行,可以修改请求参数,设置环境变量等。 - **BeanShell后置处理器**:在采样器执行之后运行,常用于解析和验证响应数据,或者更新后续请求的参数。 - **BeanShell...
例如,我们可以用它来处理动态参数、计算结果或修改请求。 4. **设置监听器**:添加监听器来查看和分析测试结果,例如聚合报告可以展示平均响应时间、吞吐量等关键指标。 5. **运行和分析测试**:运行测试计划,...
4. 重启JMeter以使更改生效。 #### 二、快速建立JMeter测试案例与测试 ##### **2.1 案例初始设定** 1. 打开JMeter:`[jMeter-DIRECTORY]\jakarta-jmeter-2.3.1\bin\jmeter.bat`。 2. 在Test Plan下添加一个Thread...
例如,400状态码表示请求语法错误,需要检查脚本中的请求参数语法格式是否正确;401表示未授权,需要检查是否缺少必要的header信息;403表示禁止,需要检查脚本中的用户信息是否拥有权限去操作业务等。 JMeter的...
3. **添加采样器**:根据需求选择合适的采样器,如HTTP请求,配置URL、方法等参数。 4. **设置监听器**:添加监听器如聚合报告、视图结果树,以查看和分析测试结果。 5. **录制与回放**:利用代理服务器录制用户操作...
7. **预处理器(Preprocessors)** 和 **后处理器(Postprocessors)**:在采样器执行前后运行,可用于修改请求或处理响应。 JMeter还支持自定义插件和脚本编写,这极大地扩展了其功能。例如,可以使用BeanShell或...
Jmeter 接口自动化是软件测试中的一种自动化测试方式,主要用于模拟用户请求,测试Web应用程序的性能和可靠性。下面是 Jmeter 接口自动化的详细知识点: 一、测试数据准备 1. 导入数据文件:在 Jmeter 中导入数据...
5. **接口测试**:JMeter可以用于接口测试,通过HTTP(S) Test Script Recorder记录API调用,然后通过修改脚本添加参数化、断言等操作,进行接口的自动化测试。 6. **压力测试**(压测):JMeter能够模拟大量并发...
2. **脚本编辑器**:JMeter提供了基于BeanShell和JSR223的脚本编辑器,支持自定义逻辑和变量处理。 3. **回放功能**:录制的脚本可以被反复播放,用于模拟不同场景的测试。 **四、jakarta-jmeter-2.3.4版本** ...
- **添加采样器**:根据需求选择合适的采样器,如HTTP请求采样器,配置URL和其他参数。 - **配置监听器**:选择合适的监听器(如聚合报告、视图结果树等)来收集和展示测试结果。 - **设置断言**:确保服务器返回的...
JMeter 性能测试入门 JMeter 是一个开源的性能测试工具,广泛应用于 WEB 应用程序的性能测试。...通过 JMeter,我们可以对 WEB 应用程序进行性能测试,模拟大量用户请求,测试服务器的承载能力和响应时间等性能指标。
2. **非侵入式**:JMeter不需要修改被测试的应用代码,可以直接通过HTTP和HTTPS协议来测试Web应用。 3. **功能测试与性能测试**:除了压力测试外,JMeter还可以用于功能验证,如表单提交、登录验证等,确保应用的...
- 启动JMeter并配置相应的启动参数。 - 运行测试。 - **示例代码**: ```java package ***; import org.apache.jmeter.config.Arguments; import org.apache.jmeter.protocol.java.sampler....
- **用途**: 添加、修改 HTTP 请求的消息头。 - **示例**: - **Header Name**: `Content-Type` - **Header Value**: `application/json` **2.2.9 响应断言** - **功能**: 检查 HTTP 响应是否符合预期。 - **示例*...
完成修改后,确保重新启动JMeter以使更改生效。此外,如果你的HTTP请求设置中有关于Content Encoding的部分,记得将其设置为`utf-8`。 2. **BeanShell Processor的编码设置** 如果你在使用BeanShell Processor时...
- **BeanShell PostProcessor/PreProcessor**:使用 BeanShell 脚本来动态生成参数。 - **JDBC Connection**:从数据库查询数据作为参数。 #### 五、脚本录制方法 JMeter 支持两种主要的脚本录制方法: - **HTTP(S)...
- **参数化请求**:如果你的SOAP请求需要动态数据,可以使用JMeter的变量或函数进行参数化,例如 `${var}` 或 `__Random()`。 - **错误处理**:设置合适的响应断言来检查返回的SOAP响应是否符合预期,这有助于识别...
**JMeter Bean Shell 使用详解** ...例如,可以根据测试需求动态修改请求参数,处理响应数据,甚至执行自定义的业务逻辑。总之,熟练掌握Bean Shell的使用能极大地提升JMeter测试脚本的灵活性和可扩展性。
- **入参数据准备**:如从数据库中获取数据作为请求参数。 - **结果数据检查**:检查数据库中数据的变化是否符合预期。 - **数据回滚**:在测试结束后将数据库恢复到初始状态。 #### 八、总结 JMeter作为一款强大的...