Jmeter如何使用BeanShell取样器调用Python脚本

1、在线程组中按以下方式添加【BeanShell取样器】:

2、把以下这段代码放到【BeanShell取样器】的脚本区域:

 注意点:

  • (1)命令里的Python脚本路径改成自己脚本的路径,-t后面是填需要传入Python脚本的参数,可传入jmeter的变量,也可以传多个参数。
  • (2)定义Jmeter中引用的变量名,记得这个变量名,后面jmeter调用时可用到。
import java.io.BufferedReader;
import java.io.InputStreamReader;
 
// 1. 命令里的路径改成自己脚本的路径,-t后面是填需要传入Python脚本的参数,可传入jmeter的变量。
String command = "cmd /c python E://python_project//Python-Auto//python_jmeter//zbg_password_rsa.py  -t ${pubKey}";
 
String var;
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
 
pr.waitFor();
 
BufferedReader b = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = "";
StringBuilder response = new StringBuilder();
while ((line = b.readLine()) != null) {
    response.append(line);
 
} 
String response_data = response.toString();
 
System.out.println(response_data);
b.close();
 
var = response.toString();
 
// 2. 定义Jmeter中引用的变量名,jmeter后面可以直接使用${变量名}调用变量;
vars.put("password_str",var);
 
//把var打印到jmeter.log的日志中,有需要可以把下方代码加上
//log.info(var);

如下图所示:

3、在Python中需要以下代码去获取jmeter传入的值,经过Python处理后,在使用打印功能传给jmeter(BeanShell取样器脚本中的Java代码作用就是接受Python脚本传过来的值,并转化为jmeter可直接调用的变量)。

import argparse
# 获取jmeter传入的值,然后赋值给变量ticket,变量即可为Python调用
parser = argparse.ArgumentParser()
parser.add_argument("-t", "--ticket", help="这是ticket")
args = parser.parse_args()
ticket = args.ticket
#print('你输入的值:{}'.format(ticket))
 
# 这是Python脚本处理过程代码,省略
 
# 最后Python把处理好的值传给jmeter,就是直接打印即可
print('这里填需要传给jmeter的值')

到此这篇关于Jmeter如何使用BeanShell取样器调用Python脚本的文章就介绍到这了,更多相关Jmeter调用Python脚本内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

    1. Python中 sys.argv的用法解释:sys.argv可以让python脚本从程序外部获取参数,sys.argv是一个列表,可用[]提取其中的元素,其第一个元素是程序本身,随后才依次是外部给予的参数,可以接受多个参数,每个参数用空格隔开即可. '''该脚本用于jmeter的OS进程提取器的调用''' import hashlib import sys import time   parameter = sys.argv # print(parameter, type(paramete

  • 详解Jmeter中的BeanShell脚本

    在利用jmeter进行接口测试或者性能测试的时候,我们需要处理一些复杂的请求,此时就需要利用beanshell脚本了,BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法,所以它和java是可以无缝衔接的.beanshell由于内置了一些特有的变量,没法在一些集成代码工具上去调试. 学了Java的一些基本语法后,就可以来在Jmeter中写写BeanShell脚本了. 直接在线程组下创建一个BeanShell取样器,然后在脚本区写java代码: 写了个循环,执

  • python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解

    JDBC Request 这个 Sampler 可以向数据库发送一个 jdbc 请求(sql 语句),并获取返回的数据库数据进行操作.它 经常需要和 JDBC Connection Configuration 配置原件(配置数据库连接的相关属性,如连接名.密码 等)一起使用. 1.本文使用的是 mysql 数据库进行测试 数据库的用户名为 root,用户名密码为 *********(看个人数据库用户名和密码填写) 2.数据库中有表:test,表的数据结构如下: 表中数据如下: select *

  • Jmeter并发执行Python 脚本的完整流程

    目录 1. 前言 2. Python 实现文件上传 2-1获取文件信息及切片数目 2-2切片及分段上传 2-3合并文件 2-4文件路径参数化 3. Jmeter 并发执行 4. 最后 本篇文章以文件上传为例,聊聊 Jmeter 并发执行 Python 脚本的完整流程 1. 前言 大家好,我是安果! 最近有小伙伴后台给我留言,说自己用 Django 写了一个大文件上传的 Api 接口,现在想本地检验一下接口并发的稳定性,问我有没有好的方案 本篇文章以文件上传为例,聊聊Jmeter 并发执行 Pyt

  • 基于Python组装jmx并调用JMeter实现压力测试

    JMeter可以通过os命令调用Python脚本,Python同样可以通过系统命令调用JMeter执行压测 Python调用JMeter 首先要安装JMeter,官方下载地址 解压并配置配置环境路径或建立软连,使得在命令输入jmeter便可以执行,如 unzip apache-jmeter-5.3.zip mv apache-jmeter-5.3 /usr/loca/jmeter ln -s /usr/local/jmeter/bin/jmeter /usr/bin/jmeter ln -s /

  • 在jmeter的beanshell中用java获取系统当前时间的简单实例

    复制代码 代码如下: import java.util.*; int y,m,d,h,mi,s;     Calendar cal=Calendar.getInstance();     y=cal.get(Calendar.YEAR);     m=cal.get(Calendar.MONTH);     d=cal.get(Calendar.DATE);     h=cal.get(Calendar.HOUR_OF_DAY);     mi=cal.get(Calendar.MINUTE);

  • Jmeter调用Python脚本实现参数互相传递的实现

    接口性能测试时,接口请求参数是根据一定的规则拼接后进行MD5加密后再进行传参,因此借助于python脚本实现,则可以有效提升测试效率. 1.分析参数加密规则:NonceStr:时间戳 + 一个小于 1000 的随机数: Sign:"UserID=" + UserID+ "&" + "NonceStr=" + NonceStr + "固定的字符串": 其中UserID是上千个不同的数据已进行CSV文件参数化处理: 2.编

  • python Django编写接口并用Jmeter测试的方法

    一.环境准备 python3.6.7 Pycharm 二.创建项目 我这里是在Django项目中新建了个APP,目录结构如下图所示: 那么怎么在已有的Django项目中新建APP并进行配置呢: 2.1.新建app a.可以在终端输入命令:python manage.py startapp myapp(这里myapp是指你自己app的名称),如下图所示: b.也可以在pycharm中找到Tools-->Run manage.py Task, 在弹出的命令框中输入:startapp myapp(这里

  • Jmeter如何使用BeanShell取样器调用Python脚本

    1.在线程组中按以下方式添加[BeanShell取样器]: 2.把以下这段代码放到[BeanShell取样器]的脚本区域:  注意点: (1)命令里的Python脚本路径改成自己脚本的路径,-t后面是填需要传入Python脚本的参数,可传入jmeter的变量,也可以传多个参数. (2)定义Jmeter中引用的变量名,记得这个变量名,后面jmeter调用时可用到. import java.io.BufferedReader; import java.io.InputStreamReader;  

  • 通过Jython调用Python脚本的实现方法

    前言 前面在 BeanShell 里面是通过 java 脚本实现请求的预处理,jmeter里面也可以调用python的脚本,需安装 jython.jar 的插件. Jython 是 Python 的纯 Java 实现.她无缝地结合了 Java 类与 Python,使用户能以 Python 语言的语法编写在 Java 虚拟机上运行的 软件 Jpython Jython 是 Python 的纯 Java 实现.她无缝地结合了 Java 类与 Python,使用户能以 Python 语言的语法编写在

  • C#调用Python脚本的简单示例

    IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Hugunin所发起,是一个开源的项目,基于微软的 DLR引擎.IronPython的在CodePlex上的主页:http://ironpython.codeplex.com/ 使用场景: 如果你的小伙伴会写Python脚本,而且已经实现大部分项目的功能不需要再用C# 实现.现在缺少窗体,此时Python+C#的组合就可以完美的结局问题啦! 示例: 借由IronPython,就可以利用.NET执行存储在P

  • java 直接调用python脚本,并传递参数代码实例

    最近陆续用python写了很多文件处理脚本,虽然功能都比较简单 ,但还是感觉到python对文件处理的简洁高效 ,越发觉得java的语法相当的繁琐~ 接到个需求处理ftp数据接口 .所以想把python脚本也用上.java代码定时扫描ftp数据仓库 ,调用python脚本入库. 直接采用java执行系统命令的方式 @Async public void readFileByPython(List<String> filePaths) throws FileNotFoundException {

  • 在VS2017中用C#调用python脚本的实现

    情景是这样的:在C#中调用python脚本进行post请求,python脚本中使用了requests包. Python的开发环境我们有比较多的选择,pycharm.sublime text等等.但是作为.net平台的Python语言ironPython,可以和C#交互,让编程更活泛. ironPython本身其实就是一个python的开发环境,我的电脑上还装有python2.7和pycharm,开始的时候使用pycharm写的,本来的想法是用VS直接调用就可以了.但是后来才明白这三者的关系. p

  • 详解C++调用Python脚本中的函数的实例代码

    1.环境配置 安装完python后,把python的include和lib拷贝到自己的工程目录下 然后在工程中包括进去 2.例子 先写一个python的测试脚本,如下 这个脚本里面定义了两个函数Hello()和_add().我的脚本的文件名叫mytest.py C++代码: #include "stdafx.h" #include <stdlib.h> #include <iostream> #include "include\Python.h&quo

  • Java程序中实现调用Python脚本的方法详解

    本文实例讲述了Java程序中实现调用Python脚本的方法.分享给大家供大家参考,具体如下: 在程序开发中,有时候需要Java程序中调用相关Python脚本,以下内容记录了先关步骤和可能出现问题的解决办法. 1.在Eclipse中新建Maven工程: 2.pom.xml文件中添加如下依赖包之后update maven工程: <dependency> <groupId>org.python</groupId> <artifactId>jython</ar

  • C语言中程序如何调用Python脚本

    有时候在写C语言程序的时候又想利用一下python强大的模块,于是C与python的混合编程便应运而生. 下面简单说说在C语言编译环境中调用python脚本文件的基础应用. 一.环境配置 以vs2017为例. 0x00 平台 首先你要知道你电脑上安装的python环境是64位还是32位,vs的编译平台需要与python环境一致. 比如我的python环境是64位,vs工程就要配置成x64. 右键点击你的解决方案,点击属性, 0x01 添加 包含目录 和 库目录 在属性窗口双击"VC++ Dire

随机推荐