iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Jmeter通过OS进程取样器调用Python脚本实现参数互传
  • 531
分享到

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

2024-04-02 19:04:59 531人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

1、 Python中 sys.argv的用法解释:sys.argv可以让python脚本从程序外部获取参数,sys.argv是一个列表,可用[]提取其中的元素,其第一个元素是程序本身

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

 注意:脚本中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、比如在接口请求中使用提取到的参数:

到此这篇关于Jmeter通过OS进程取样器调用Python脚本实现参数互传的文章就介绍到这了,更多相关Python脚本实现参数互传内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

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

本文链接: https://www.lsjlt.com/news/143715.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作