通过Jython调用Python脚本的实现方法
前言
前面在 BeanShell 里面是通过 java 脚本实现请求的预处理,jmeter里面也可以调用python的脚本,需安装 jython.jar 的插件.
Jython 是 Python 的纯 Java 实现。她无缝地结合了 Java 类与 Python,使用户能以 Python 语言的语法编写在 Java 虚拟机上运行的 软件
Jpython
Jython 是 Python 的纯 Java 实现。她无缝地结合了 Java 类与 Python,使用户能以 Python 语言的语法编写在 Java 虚拟机上运行的 软件。
它的特点有:与相似的 Java 程序相比,Jython 极大的的减少了编程代码量。Jython 同时拥有解释器和编译器,使其无需编译就可以测试程序代码。
官网下载地址:https://www.jython.org/download 下载jython-standaloneXXX.JAR

把下载的Jython 的jar包放到 jmeter的lib文件夹。重启jmeter
JSR223 Sampler
添加-取样器-JSR223 Sampler

选择 jython2.7 版本,在Script区域写相应的代码,注意这里的语法是支持python2.7的,3.x的语法不支持。
# 获取jmeter 参数
user = vars.get("user")
print "hello"
# 输出日志
log.info(u"获取到的变量user:" + user)
# 设置响应信息
SampleResult.setResponseData("return message");
SampleResult.setResponseCode("502")
SampleResult.setSuccessful(False)

变量获取与日志
前面定义了用户变量 user, 变量的获取依然用 vars.get('var name') 获取。
这里print的内容无法输出到屏幕,可以用log.info() 输出日志内容

设置响应
通过SampleResult对象设置响应的结果
# 设置响应信息
SampleResult.setResponseData("return message");
SampleResult.setResponseCode("502")
SampleResult.setSuccessful(False)

也可以返回自定义的结果

以上就是通过Jython调用Python脚本的详细内容,更多关于Jython调用Python脚本的资料请关注脚本之家其它相关文章!
相关文章
深入理解Python内置函数map filter reduce及与列表推导式对比
这篇文章主要为大家介绍了Python内置函数map filter reduce及与列表推导式对比方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06
Pandas过滤dataframe中包含特定字符串的数据方法
今天小编就为大家分享一篇Pandas过滤dataframe中包含特定字符串的数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-11-11


最新评论