基于python可伸缩JSON格式列表实现
对于消息体为一个json格式列表,列表长度变化的代码设计,如下实现可供参考。
1、python语言实现(直接取值)
#coding=utf-8n = 2 # 行项目数
productCode = ['11111','222222','333333']
unit = ['H06','H07','H08']
qty = [6,7,8]
items = []for i in range(0, n):item = {"itemType": "${SOZKitemType}","promotionFlg": None,"deliveryTime": "${currentTime}","excessRatio": 0,"storageLocation": "${ZKstorageLocation}","itemNo": (i+1)*10,"merchantProductCode": productCode[i],"customerSupplierCode": None,"avaiableQtyUnit": unit[i],"referenceItemNo": (i+1)*10,"orderQty": qty[i],"canExcess": "0","orderUnit": unit[i],"avaiableQty": qty[i],"orderNo": "20${orderNo}","stockType": "${stockType}","batch": "","logisticsType": "ZK","subProducts": None}items.append(item)
print(items)
2、python语言在Jmeter中实现(直接取值)
import json
n = 2 # 行项目数
items = []for i in range(0, n):item = {"itemType": "${SOZKitemType}","promotionFlg": None,"deliveryTime": "${currentTime}","excessRatio": 0,"storageLocation": "${ZKstorageLocation}","itemNo": (i+1)*10,"merchantProductCode": str(vars.get('merchantProductCode'+str(i+1))),"customerSupplierCode": None,"avaiableQtyUnit": str(vars.get('SUF'+str(i+1))),"referenceItemNo": (i+1)*10,"orderQty": str(vars.get('SOZKorderQty'+str(i+1))),"canExcess": "0","orderUnit": str(vars.get('SUF'+str(i+1))),"avaiableQty": str(vars.get('SOZKorderQty'+str(i+1))),"orderNo": "20${orderNo}","stockType": "${stockType}","batch": "","logisticsType": "ZK","subProducts": None}items.append(item)
data = json.dumps(items,indent=4)
vars.put('newItems',data)
3、python语言在Jmeter中实现(不直接取值、纯JSON消息体制作),这种方式的好处是先将消息体都开发完整了,不用执行Jmeter脚本时候去拼接消息体,执行更快。
import jsonn=2000 #行项目数
totalItem=[]
allParas = {"orderType": "${SOZKorderType}","CreatedTime": "${currentTime}","deliveryTime": "","city": "","customerCode": "${customerCode}","vendorId": "","reference2": "20${orderNo}","distributionModeCode": "${distributionModeCode}","cpoOrderNo": "","telPhone": "","province": "","epCode": "${epCode}","shippingConditionCode": "${shippingConditionCode}","traceId": "${__UUID}","creator": "${creator}","merchantCode": "${outMerchantCode}","address": "","orderNo": "20${orderNo}","countryNo": "","updateIndicator": "","customerDesc": "","route": "111","whCode": "${whCode}","district": "","deliveryPriorityCode": "${deliveryPriorityCode}","contacts": "","items": ""}for i in range(0,n):item = {"itemType": "${SOZKitemType}","promotionFlg": "","deliveryTime": "${currentTime}","excessRatio": 0,"storageLocation": "${ZKstorageLocation}","itemNo": str((i + 1) * 10),"merchantProductCode": '${' + 'merchantProductCode' + str(i + 1) + '}',"customerSupplierCode": "","avaiableQtyUnit": '${' + 'SUF' + str(i + 1) + '}',"referenceItemNo": str((i + 1) * 10),"orderQty": '${' + 'SOZKorderQty' + str(i + 1) + '}',"canExcess": "0","orderUnit": '${' + 'SUF' + str(i + 1) + '}',"avaiableQty": '${' + 'SOZKorderQty' + str(i + 1) + '}',"orderNo": "20${orderNo}","stockType": "${stockType}","batch": "","logisticsType": "ZK","subProducts": ""}item['promotionFlg'] = None #当我们从外部数据源获取数据时,经常会遇到一些空值或者null,在Python中,null或者空可以用 None 表示。item['customerSupplierCode'] = Noneitem['subProducts'] = NonetotalItem.append(item)
allParas['items'] = totalItem
allParas['deliveryTime'] = None
allParas['city'] = None
allParas['vendorId'] = None
allParas['city'] = None
allParas['cpoOrderNo'] = None
allParas['telPhone'] = None
allParas['province'] = None
allParas['address'] = None
allParas['countryNo'] = None
allParas['updateIndicator'] = None
allParas['customerDesc'] = None
allParas['district'] = None
allParas['contacts'] = Nonewith open(r'D:\apache-jmeter-5.6.3\bin\TestData\common\requestBody.txt','w+') as file:json.dump(allParas,file,indent=4)
相关文章:
基于python可伸缩JSON格式列表实现
对于消息体为一个json格式列表,列表长度变化的代码设计,如下实现可供参考。 1、python语言实现(直接取值) #codingutf-8n 2 # 行项目数 productCode [11111,222222,333333] unit [H06,H07,H08] qty [6,7,8] items []for i in range(0, n):item …...
h5相机功能
h5相机功能 利用vant input file <template><div class"mb10"><divv-for"(item, index) in info.imgList":key"index"class"imgItem f32 mr20"click"preview(item, index)"><img :src"doFileUrl…...
IDEA | 安装通义灵码插件,开启智能编码旅程
安装步骤 从插件市场安装,点击导航-插件,打开应用市场,搜索通义灵码(TONGYI Lingma),找到通义灵码后点击安装。 https://tongyi.aliyun.com/lingma/download 使用方式 https://help.aliyun.com/documen…...
技术人员如何克服在使用行列视(RCV)过程中遇到的挑战?
技术人员在使用行列视(RCV)过程中可能会遇到多种挑战,以下是一些建议,帮助他们克服这些挑战: 1. 深入了解系统架构和功能: - 熟练掌握RCV的架构设计,包括数据中心层、计算服务层、函数层、人机…...
手把手教你安装 Vivado2019.2(附安装包)
一、Vivado 2019.2优点 Vivado 2019.2 作为 Xilinx 公司发布的一款设计套件版本,具有多个显著的优点,以下是对其优点的详细归纳: 集成度高:开发工具丰富并行综合功能灵活的许可证策略用户友好的界面强大的仿真和验证功能丰富的文…...
Sql-labs的第一关
前言 我们在使用Sql-libs靶场进行Sql注入实验的时候,前提要求我们对mysql数据库结构要有一个大概的了解,因为mysql5.0以上的版本都会自带一个名为information_schema的数据库,这个数据库下面会有columns和tables两个表。 tables这个表的table…...
10_1 Linunx Web服务管理
10_1 Linunx Web服务管理 文章目录 10_1 Linunx Web服务管理[toc]1. 环境准备2. Web服务2.1 Web服务简介 2.2 Web配置2.2.1 提供的默认配置2.2.2 Web服务的主配置文件2.2.3 /etc/httpd/conf/httpd.conf 文件反映出来的”访问控制信息“2.2.4 修改监听端口,访问2.2.5…...
苹果WWDC 2024:十三大亮点公布,一切都有关AI|TodayAI
在刚刚结束的苹果全球开发者大会(WWDC 2024)上,苹果公司展示了一系列令人瞩目的新功能,特别是在人工智能(AI)领域的重大进展。以下是本次大会的十三大亮点。 1. 苹果推出首个AI系统 苹果宣布推出其首个AI系统——Apple Intelligence,这一系统将强大的生成模型直接集成到…...
Nginx访问日志
Nginx日志是Nginx Web服务器产生的记录文件,主要用于跟踪和分析服务器的访问情况以及错误信息。Nginx日志主要分为两大类:访问日志 (access_log): 访问日志记录了每一次客户端对Nginx服务器的HTTP请求的详细信息,这对于统计分析、流量监控、用…...
Java使用Hutool工具类轻松生成验证码
一、效果展示 二、Hutool工具类实现验证码生成 2.1 引入依赖 <!--hutool工具包--> <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.15</version> </dependency2.2 简单实现方…...
leetcode 40. 组合总和 II
题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 原题链接:https://leetc…...
AMEYA360代理品牌:ROHM开发出世界超小CMOS运算放大器,适用于智能手机和小型物联网设备等应用
全球知名半导体制造商ROHM(总部位于日本京都市)开发出一款超小型封装的CMOS运算放大器“TLR377GYZ”,该产品非常适合在智能手机和小型物联网设备等应用中放大温度、压力、流量等的传感器检测信号。 智能手机和物联网终端越来越小型化,这就要求搭载的元器…...
第1章Hello world 4/5:对比Rust/Java/C++创建和运行Hello world全过程:运行第一个程序
讲动人的故事,写懂人的代码 1.7 对比Rust/Java/C++创建和运行Hello world全过程 有了会听懂人类的讲话,还能做记录的编程助理艾极思,他们三人的讨论内容,都可以变成一份详细的会议纪要啦。 接下来,我们一起看看艾极思是如何记录下赵可菲创建和运行Java程序Hello world,…...
golang优雅代码【lock实现】
golang优雅代码【lock实现】 1.局部锁1.1 具体实现方式 本文代码风格来源参考 database/sql 包 更加深刻理解go语言圣经中函数是一等公民 1.局部锁 database/sql源码中使用 withLock(dc, func(){...}) 方法实现局部锁,完美利用了 golang 的 defer 关键字对 入参dc…...
Dijkstra算法(迪杰斯特拉算法)
迪杰斯特拉算法通常用在图的最短路径问题上 而迷宫的最短路径可以用BFS来做,虽然BFS不能用于带权值的迷宫,但是可以对BFS稍微改进,只需要把判断是否走过的数组改为最短路径的数组,在判断是否可走时判断是否比最短的小即可 Dijks…...
用函数指针求a和b中的大者
指针变量也可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。 先按一般方法编写程序: 可以用一个指针变量指向max函数,然后通过该指…...
鸿蒙轻内核M核源码分析系列六 任务及任务调度(2)任务模块
任务是操作系统一个重要的概念,是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。鸿蒙轻内核的任务模块可以给用户提供多个任务,实现任务间的切换,帮助用户管理业务程序流程。…...
解决找不到MSVCR120.dll,无法执行代码
msvcr120.dll是Microsoft Visual C 2013 Redistributable Package的一部分,它提供了运行使用Microsoft Visual C 2013编译器编译的程序所需的运行时环境。这个DLL文件包含了在运行使用Visual C编译器(特别是2013版)编译的应用程序时所必需的一…...
Linux iptables详解
前言:事情是这样的。最近部门在进行故障演练,攻方同学利用iptables制造了一个故障。演练最终肯定是取得了理想的效果,即业务同学在规定时间内定位了问题并恢复了业务(ps:你懂得)。 对我个人来讲一直知道iptables的存在࿰…...
Mac电脑arm64芯片Cocoapods 的 ffi 兼容问题
转载请标明出处:https://blog.csdn.net/donkor_/article/details/139505395 文章目录 前言问题分析解决方案总结 前言 今天在改Flutter项目的时候,构建IOS项目时,Cocoapods报错 Error: To set up CocoaPods for ARM macOS, run: arch -x86_6…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
