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

作者:Jarthong 时间:2022-07-09 18:43:27 

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

'''该脚本用于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脚本并传入两个参数:

Jmeter通过OS进程取样器调用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 也是表示传两个参数)】。

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

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

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

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

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

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

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

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

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

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

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

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

来源:https://blog.csdn.net/jarthong/article/details/123676024

标签:Jmeter,python,参数,互传
0
投稿

猜你喜欢

  • Python使用pyshp库读取shapefile信息的方法

    2023-07-27 04:56:36
  • ASP编程中的常见问题

    2007-09-20 13:32:00
  • 关注各网站的布局调整

    2008-09-23 18:14:00
  • jQuery方法扩展:type, toJSON, evalJSON

    2009-02-15 12:42:00
  • python实现矩阵乘法

    2023-11-03 07:41:10
  • MySQL优化全攻略--相关数据库命令

    2008-11-01 17:03:00
  • 详解AJAX核心 —— XMLHttpRequest 对象

    2010-03-31 14:49:00
  • 让所有IE支持HTML5的解决方案

    2009-10-31 18:43:00
  • [翻译]标记语言和样式手册 Chapter 7 锚点

    2008-01-28 14:01:00
  • Oracle轻松取得建表和索引的DDL语句

    2009-02-26 10:26:00
  • 三招解决SQL Server数据库权限冲突

    2009-03-16 16:58:00
  • 举例讲解Linux系统下Python调用系统Shell的方法

    2023-08-25 00:04:46
  • mysql 5.5.8的几个注意事项

    2011-01-04 19:34:00
  • 动态导航设计

    2008-09-21 13:40:00
  • python编码问题汇总

    2023-10-02 08:05:54
  • 在Python程序中进行文件读取和写入操作的教程

    2023-05-22 10:31:56
  • Python产生一个数值范围内的不重复的随机数的实现方法

    2023-09-19 21:48:09
  • 使用python脚本自动生成K8S-YAML的方法示例

    2023-09-19 06:12:17
  • python代码实现将列表中重复元素之间的内容全部滤除

    2023-11-17 18:17:32
  • CSS3的新特性

    2009-03-23 17:46:00
  • asp之家 网络编程 m.aspxhome.com