Jmeter通过OS进程取样器调用Python脚本实现参数互传

news2024/10/7 14:32:37

1、 Python中 sys.argv的用法解释:sys.argv可以让python脚本从程序外部获取参数,sys.argv是一个列表,可用[]提取其中的元素,其第一个元素是程序本身,随后才依次是外部给予的参数,可以接受多个参数,每个参数用空格隔开即可。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

'''该脚本用于jmeter的OS进程提取器的调用'''

import hashlib

import sys

import time

  

parameter = sys.argv

# print(parameter, type(parameter))

  

def password_srt(pubkey,  password):

    time_str = str(time.time())

    sign_str = pubkey + time_str + password

    sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest()

    res = {'sign': sign, 'pubkey': pubkey, 'password': password}

    # print()的内容可被jmeter接收,可以在jmeter中对其相关参数进行提取。

    print(res)

    return res

  

if __name__ == '__main__':

    password_srt(parameter[1], parameter[2])

比如在cmd中调用上面的Python脚本并传入两个参数:

 注意:脚本中print()的内容都可被jmeter接收,可以在jmeter中使用正则表达式提取器对相关参数进行提取。

 2、新增一个.bat文件,具体命令内容:python E:\python_project\Python-Auto\python_jmeter\jmeter_os_process.py %1 %2 【%1 %2表示将2个参数传递给python文件(或者使用%1 %1 也是表示传两个参数)】。

3.通过JMeter的OS Process Sampler组件读取批处理文件,其实就是执行编写的python脚本。

(1)通过以下路径在jmeter中添加【OS进程取样器】:

(2)①在【命令】输入框中填入.bat文件的路径,比如:E:\python_project\Python-Auto\python_jmeter\jmeter_os_process.bat

②在【命令行参数】添加【值】,根据这里传几个值,.bat文件就需要填传入几个值,比如两个为%1 %2

③【命令行参数】添加【值】的,可以使用变量,比如引用jmeter参数化的变量;

4、使用【正则表达式提取器】对python脚本中打印出来的参数进行提取,以供jmeter使用。(一个正则表达式提取器只能提取一个参数,要提取多个参数可以使用多个提取器)

 5、比如在接口请求中使用提取到的参数:

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1560837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

类和对象(下)--- 初始化列表、explicit、友元、static、匿名对象和内部类

本篇将会对类和对象的主要知识收尾,先会对构造函数进行补充,分别补充了构造函数体赋值、初始化列表、explicit 关键字,然后介绍 static 成员知识以及友元、内部类还有匿名对象等知识点,目录如下: 目录 1. 构造函数补充…

逐浪100人丨对话魔珐科技CEO柴金祥:AI时代,虚拟人的边界在哪?

Photo by 《机械姬》剧照 ©自象限原创 访谈丨程心 生成式AI的爆发,带领全民到达AIGC的新时代。 在这个新时代,虚拟人作为一种新兴的内容载体,不仅在娱乐、教育、零售等领域中扮演着越来越重要的角色,也成为了品牌与消费者…

第十三届蓝桥杯国赛真题 Java C 组【原卷】

文章目录 发现宝藏试题 A: 斐波那契与 7试题 B: 小蓝做实验试题 C: 取模试题 D: 内存空间试题 E \mathrm{E} E : 斐波那契数组试题 F: 最大公约数试题 G: 交通信号试题 I: 打折试题 J: 宝石收集 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&#x…

关于Ansible的模块②

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 接《关于Ansible的模块 ①-CSDN博客》,继续学习和梳理Ansible的常用文件类模块 1. copy模块 从当前机器上复制文件到…

PCB表面缺陷检测项目 | 轻量化PCB表面缺陷检测算法实现

项目应用场景 面向 PCB 表面缺陷检测场景,包括漏孔 missing hole、咬伤 mouse bite、开路 open circuit、短路 short、支线 spur、杂铜 spurious copper 六种缺陷类型。 项目效果: 项目细节 > 具体参见项目 README.md (1) 下载模型 (2) 安装依赖&…

Master公式(计算递归复杂度)

Master公式 在计算涉及递归的算法的时候,计算复杂度就会变得有些麻烦。Master公式就是用来进行剖析递归行为和递归行为时间复杂度的估算的 Master公式:T(N) a*T(N/b) O(N^d) 公式解释:n表示问题的规模,a表示递归的次数也就是生…

使用 Yoda 和 ClickHouse 进行实时欺诈检测

背景 Instacart 是北美领先的在线杂货公司,拥有数百万活跃的客户和购物者。在其平台上打击欺诈和滥用行为不仅对于维护一个值得信赖和安全的环境至关重要,也对保持Instacart的财务健康至关重要。在这篇文章中,将介绍了一个欺诈平台——Yoda,解释了为什么我们选择ClickHous…

每日一题(相交链表 )

欢迎大家来我们主页进行指导 LaNzikinh-CSDN博客 160. 相交链表 - 力扣(LeetCode) 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节…

服务器主机推荐

服务器推荐:雨云 - 新一代云服务提供商 雨云的服务器享受免费使用CDN服务,当前CDN调整中; 使用CDN时域名无需备案; 注册后绑定微信可以获得一张首月5折优惠券; 雨云支持1元任意配置1天试用,试用服务器一…

2024年美团笔试题(1)

一.题目描述 小美拿到了一个排列,其中初始所有元素都是红色,但有些元素被染成了白色。 小美每次操作可以选择交换任意两个红色元素的位置。她希望操作尽可能少的次数使得数组变成非降序,你能帮帮她吗? 排列是指:一个长度为n的数组&#…

将在使用的git分支的历史其中的一个版本切换成新的git分支

要将正在使用的 Git 分支的历史中的一个版本切换成新的 Git 分支,可以按照以下步骤进行操作: 两种方式 1.(命令行)可以使用 git log 命令查看提交历史并找到对应的提交哈希值。 2.(图形化) 2.1通过idea…

Netty教程之NIO基础

NIO 介绍 NIO 全称java non-blocking IO(非阻塞 I/O),后续提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的。 阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种…

Php_Code_challenge12

题目: 答案: 解析: 字符串拼接。

城市内涝模拟:慧天【HTWATER】软件,完全兼容SWMM模型格式,可以在本平台模型与SWMM模型之间实现转换

在城市排水防涝规划过程中,水文水动力耦合模型已经成为一种不可或缺的分析工具。在模型建立、城市内涝风险评估、排水系统性能诊断以及海绵城市规划等方面,内涝耦合模型提供了相应的模拟及分析工具: 一、丰富的数据处理功能,兼容…

算法刷题笔记(3.25-3.29)

算法刷题笔记 3.25-3.29 1. 相同的树2. 二叉树的最近公共祖先3. 二叉搜索树中第K小的元素通过双端队列duque 中序遍历 4. 二叉树的锯齿形层序遍历new LinkedList<Integer>(levelList)双端队列复制 数组需要左右顺序&#xff0c;考虑双端队列 5. 岛屿数量6. 字典序排数&am…

计算机视觉的应用25-关于Deeplab系列语义分割模型的应用场景,以及空洞卷积的介绍

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用25-关于Deeplab系列语义分割模型的应用场景&#xff0c;以及空洞卷积的介绍。Deeplab是Google研发的一系列深度学习模型&#xff0c;主要用于图像语义分割任务&#xff0c;其在众多应用场景中展现出…

基于8086密码锁可修改仿真

**单片机设计介绍&#xff0c;基于8086密码锁可修改仿真 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086的密码锁可修改仿真设计是一个结合了微处理器控制、密码管理和仿真技术的综合性项目。通过此设计&#xff0c;用户可以设定和…

nginx界面管理工具之nginxWebUI 搭建与使用

nginx界面管理工具之nginxWebUI 搭建与使用 一、nginxWebUI 1.nginx网页配置工具 官网地址: http://www.nginxwebui.cn 源码地址&#xff1a;https://git.chihiro.org.cn/chihiro/nginxWebUI 2.功能说明 本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议…

非关系型数据库--------------Redis配置与优化

一、关系数据库与非关系型数据库 1.1关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上一般面向于记录。SQL语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言&#xff0c;用…

正弦实时数据库(SinRTDB)的使用(10)-数据文件的无损压缩

前文已经将正弦实时数据库的使用进行了介绍&#xff0c;需要了解的可以先看下面的博客&#xff1a; 正弦实时数据库(SinRTDB)的安装 正弦实时数据库(SinRTDB)的使用(1)-使用数据发生器写入数据 正弦实时数据库(SinRTDB)的使用(2)-接入OPC DA的数据 正弦实时数据库(SinRTDB)…