`

jmeter beanShell 修改http请求参数

    博客分类:
  • java
 
阅读更多
在使用jmeter进行测试时,需要对上一步响应的明文参数,如userName='tom' token='%sdf%sdkdfj'之类的参数,加密一下,才能进行下一步http请求,
涉及三个问题
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日志




  • 大小: 217.7 KB
0
4
分享到:
评论

相关推荐

    JMeter beanShell修改http请求参数

    总之,JMeter结合BeanShell提供了一种强大的方式来处理复杂的测试逻辑,包括修改HTTP请求参数。通过引入自定义函数,获取并解析上一次请求的响应,以及动态构建参数,我们可以有效地模拟实际应用中的各种场景。

    jmeter-BeanShell简介

    - **BeanShell预处理程序**:在采样器执行之前运行,可以修改请求参数,设置环境变量等。 - **BeanShell后置处理器**:在采样器执行之后运行,常用于解析和验证响应数据,或者更新后续请求的参数。 - **BeanShell...

    软件开发测试工具jmeter简介

    例如,我们可以用它来处理动态参数、计算结果或修改请求。 4. **设置监听器**:添加监听器来查看和分析测试结果,例如聚合报告可以展示平均响应时间、吞吐量等关键指标。 5. **运行和分析测试**:运行测试计划,...

    JMeter测试入门指导

    4. 重启JMeter以使更改生效。 #### 二、快速建立JMeter测试案例与测试 ##### **2.1 案例初始设定** 1. 打开JMeter:`[jMeter-DIRECTORY]\jakarta-jmeter-2.3.1\bin\jmeter.bat`。 2. 在Test Plan下添加一个Thread...

    Jmeter训练营文档.pdf

    例如,400状态码表示请求语法错误,需要检查脚本中的请求参数语法格式是否正确;401表示未授权,需要检查是否缺少必要的header信息;403表示禁止,需要检查脚本中的用户信息是否拥有权限去操作业务等。 JMeter的...

    jmeter学习使用手册

    3. **添加采样器**:根据需求选择合适的采样器,如HTTP请求,配置URL、方法等参数。 4. **设置监听器**:添加监听器如聚合报告、视图结果树,以查看和分析测试结果。 5. **录制与回放**:利用代理服务器录制用户操作...

    apache-jmeter2.13

    7. **预处理器(Preprocessors)** 和 **后处理器(Postprocessors)**:在采样器执行前后运行,可用于修改请求或处理响应。 JMeter还支持自定义插件和脚本编写,这极大地扩展了其功能。例如,可以使用BeanShell或...

    Jmeter接口自动化

    Jmeter 接口自动化是软件测试中的一种自动化测试方式,主要用于模拟用户请求,测试Web应用程序的性能和可靠性。下面是 Jmeter 接口自动化的详细知识点: 一、测试数据准备 1. 导入数据文件:在 Jmeter 中导入数据...

    apache-jmeter-5.2.1_src.zip

    5. **接口测试**:JMeter可以用于接口测试,通过HTTP(S) Test Script Recorder记录API调用,然后通过修改脚本添加参数化、断言等操作,进行接口的自动化测试。 6. **压力测试**(压测):JMeter能够模拟大量并发...

    JMeter测试工具,支持脚本录入

    2. **脚本编辑器**:JMeter提供了基于BeanShell和JSR223的脚本编辑器,支持自定义逻辑和变量处理。 3. **回放功能**:录制的脚本可以被反复播放,用于模拟不同场景的测试。 **四、jakarta-jmeter-2.3.4版本** ...

    jakarta-jmeter-2.0.1

    - **添加采样器**:根据需求选择合适的采样器,如HTTP请求采样器,配置URL和其他参数。 - **配置监听器**:选择合适的监听器(如聚合报告、视图结果树等)来收集和展示测试结果。 - **设置断言**:确保服务器返回的...

    JMeter性能测试入门

    JMeter 性能测试入门 JMeter 是一个开源的性能测试工具,广泛应用于 WEB 应用程序的性能测试。...通过 JMeter,我们可以对 WEB 应用程序进行性能测试,模拟大量用户请求,测试服务器的承载能力和响应时间等性能指标。

    apache-jmeter-2.8.zip

    2. **非侵入式**:JMeter不需要修改被测试的应用代码,可以直接通过HTTP和HTTPS协议来测试Web应用。 3. **功能测试与性能测试**:除了压力测试外,JMeter还可以用于功能验证,如表单提交、登录验证等,确保应用的...

    Jmeter入门教程

    - 启动JMeter并配置相应的启动参数。 - 运行测试。 - **示例代码**: ```java package ***; import org.apache.jmeter.config.Arguments; import org.apache.jmeter.protocol.java.sampler....

    那些年,追寻Jmeter的足迹--第1版本-unlocked.pdf

    - **用途**: 添加、修改 HTTP 请求的消息头。 - **示例**: - **Header Name**: `Content-Type` - **Header Value**: `application/json` **2.2.9 响应断言** - **功能**: 检查 HTTP 响应是否符合预期。 - **示例*...

    JMETER 常见问题及解决方法

    完成修改后,确保重新启动JMeter以使更改生效。此外,如果你的HTTP请求设置中有关于Content Encoding的部分,记得将其设置为`utf-8`。 2. **BeanShell Processor的编码设置** 如果你在使用BeanShell Processor时...

    性能测试工具Jmeter的使用.docx

    - **BeanShell PostProcessor/PreProcessor**:使用 BeanShell 脚本来动态生成参数。 - **JDBC Connection**:从数据库查询数据作为参数。 #### 五、脚本录制方法 JMeter 支持两种主要的脚本录制方法: - **HTTP(S)...

    jmeter中WebService插件(解决中文乱码)

    - **参数化请求**:如果你的SOAP请求需要动态数据,可以使用JMeter的变量或函数进行参数化,例如 `${var}` 或 `__Random()`。 - **错误处理**:设置合适的响应断言来检查返回的SOAP响应是否符合预期,这有助于识别...

    Jmeter Bean shell 使用

    **JMeter Bean Shell 使用详解** ...例如,可以根据测试需求动态修改请求参数,处理响应数据,甚至执行自定义的业务逻辑。总之,熟练掌握Bean Shell的使用能极大地提升JMeter测试脚本的灵活性和可扩展性。

    Jmeter实用操作.pptx

    - **入参数据准备**:如从数据库中获取数据作为请求参数。 - **结果数据检查**:检查数据库中数据的变化是否符合预期。 - **数据回滚**:在测试结束后将数据库恢复到初始状态。 #### 八、总结 JMeter作为一款强大的...

Global site tag (gtag.js) - Google Analytics