首页 > 其他分享 >jmeter 项目混合接口实战记录

jmeter 项目混合接口实战记录

时间:2023-07-27 20:55:42浏览次数:31  
标签:实战 String vars 接口 cal put import jmeter

1.  项目结构:

1.1 混合接口,创建事务控制器,将多个接口,按照业务逻辑,串行排列组合,接口之间采用后置beanshell 或者jsonpath 、正则关联 

1.1  第一个接口beanshell  取样器,编辑参数化需要的随机参数,防止数据命中缓存

import org.apache.jmeter.config.Arguments;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

String japanesekanji ="张王李赵钱孙";
String fullkana = "abcdefgh";
String halfNumber = "1234567890";

vars.put("name1",name1);
vars.put("name2",name2);
vars.put("halfNumber",halfNumber);
try{
Date date = new Date(); //获取当前时间
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
String insuredDate = sf.format(date);
Calendar cal = Calendar.getInstance();
cal.setTime(sf.parse(insuredDate));
cal.add(Calendar.DAY_OF_YEAR,-10); //加1天

String insuredDate = sf.format(cal.getTime());
//cal.add(Calendar.DAY_OF_YEAR,+10); //加2天


cal.add(Calendar.DAY_OF_YEAR,-11);
String paymentTime = sf.format(cal.getTime());

cal.add(Calendar.DAY_OF_YEAR,+22);
String insuredDateStart = sf.format(cal.getTime());

vars.put("insuredDate",insuredDate);
vars.put("paymentTime",paymentTime);
vars.put("insuredDateStart",insuredDateStart);


long id = ${__Random(100000000,999999999,id)};
String channelOrgID = "C-I_D" + id.toString();
vars.put("channelOrgID",channelOrgID);
String channelOrgID = "C-I_D" + id.toString();
vars.put("channelOrgID",channelOrgID);

long id = ${__Random(100000000,999999999,id)};
String transNo = "TRNO" + id.toString();
vars.put("transNo",transNo);
}
catch(Exception e){

}

1.2  业务接口1,使用jsonpath 语法 获取想要的字段,传递给下个接口

 2. 业务接口2,同业务接口1逻辑相同

 

1.3  业务接口3 的 后置beanshell,获取上个接口的请求数据中的个别字段

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

String response_data = prev.getResponseDataAsString(); //获取登录请求的响应信息
//log.info("response_data="+response_data);
//利用上一步获取的字符串形式的JSON,结合Java处理Json的方法,将需要的键值提取出来;
JSONObject responseJson = JSON.parseObject(response_data);
JSONArray data = jsonObject.getJSONObject("responseJson").getJSONArray("xxxxxx");

vars.put("xxxxx",xxxx)

 1.4  倒数第二个业务接口,需要加入固定定时器,相当于loadrunner 的思考时间,不会记录到事务整体的运行结果当中

标签:实战,String,vars,接口,cal,put,import,jmeter
From: https://www.cnblogs.com/blowwind/p/17585992.html

相关文章

  • Maven实战(六)——Gradle,构建工具的未来?
    Maven面临的挑战软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外。虽然目前它基本上是Java构建的事实标准,但我们也能看到新兴的工具在涌现,比如基于Goovy的Gradle,而去年Hibernate宣布从Maven迁移至Gradle这......
  • Day06-25 接口
    接口普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!自己无法写方法~专业的约束!约束和实现分离:面向接口编程~接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能...”的思想。如果你是天使,则必须能飞;如果你是汽车,则必须能跑;如果......
  • Mysql索引优化实战
    Mysql索引优化实战在进行Mysql数据库的查询优化时,索引的优化是至关重要的一环。索引可以大大提高数据库的查询速度,减少查询的资源消耗。本文将介绍Mysql索引的基本原理和常用的索引优化技巧,并提供一些代码示例供读者参考。什么是索引?索引是一种数据结构,可以帮助数据库系统快速定......
  • Shiro实战教程(整合SpringBoot,全网最强)
    ​ 本文介绍一个强大的Shiro实战教程,用最简单的代码、最常用的场景让你彻底掌握Shiro的用法,成为Shiro实战高手。本Shiro教程是全网最强的Shiro实战教程。教程地址:Shiro项目实战专栏介绍-自学精灵为什么这个Shiro教程是全网最强?其他资料的特点代码不全,根本运行不起来。不......
  • react useEffect a页面跳转b页面,b页面跳转a页面,接口调用多次
    reactuseEffecta页面跳转b页面,b页面跳转a页面,接口调用多次useEffect(()=>{xxx();return()=>{history?.go(0);};},[]);我的解决方式是在,在离开页面之前触发return()=> {history?.go(0);};当前页面刷新,清空了当前缓存的数据,也相当于第一次......
  • 个微API接口
    你可以 通过API 实现 个性化微信功能 (例:营销系统、云发单助手、社群小助手、客服系统、机器人等),用来自动管理微信消息。可开发的功能包括但不限于:好友管理:添加好友、删除好友、修改备注、创建标签、获取好友列表、搜索好友信息消息管理:发文本消息、图片消息、名片消息、动......
  • java 实现接口 使整型和字符串比较大小
    Java实现接口:使整型和字符串比较大小在Java中,我们经常需要比较两个对象的大小。通常情况下,我们可以直接使用比较运算符(如>、<、==)来比较整型数据或字符串。然而,有时我们可能需要在比较过程中使用自定义的逻辑。为了实现这一点,我们可以使用接口来定义比较逻辑,并在需要的地方实现该......
  • java接口直接显示图片
    Java接口直接显示图片在Java中,我们经常需要在图形用户界面(GUI)中显示图片。通常情况下,我们会使用图像组件(ImageComponent)来加载和显示图片。然而,有时候我们可能需要将图片直接显示在图形用户界面中,而不需要使用图像组件。在本文中,我们将介绍如何使用Java接口来实现这一目标。使用......
  • java接口文档示例
    Java接口文档示例及其用途引言在Java开发中,接口文档是非常重要的一部分。它提供了对代码库的详细描述,包括类、方法、参数和返回值等信息。接口文档不仅可以帮助开发人员了解代码库的功能和用途,还可以作为代码库的使用指南,方便其他开发人员快速上手。本文将介绍Java接口文档的示例......
  • Jmeter45 Dubbo Sampler 插件及其教程
    转载Jmeter(五十)DubboSampler-紫陌花间客-博客园(cnblogs.com) 一、前言随着分布式普及,日常工作中多少会接触到dubbo,对于dubbo接口的调用或者压测等等。调用最简单的方式便是telnet,或者泛化调用的方式。进入telnet命令行,invoke对应方法以及传入对应的参数即可。当然......