通过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 standalone 版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-46n0nnmc-1624153273722)(https://img2020.cnblogs.com/blog/1070438/202101/1070438-20210112103001805-1640164092.png)]
把下载的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脚本的资料请关注其它相关文章!
上一篇: 茄子要蒸多久才熟
推荐阅读
-
c#调用python脚本实现排序(适用于python脚本中不包含第三方模块的情况)
-
python下调用pytesseract识别某网站验证码的实现方法
-
python实现通过pil模块对图片格式进行转换的方法
-
python使用multiprocessing模块实现带回调函数的异步调用方法
-
Python基于opencv调用摄像头获取个人图片的实现方法
-
python itchat实现调用微信接口的第三方模块方法
-
python实现调用其他python脚本的方法
-
python通过shutil实现快速文件复制的方法
-
Python实现调用另一个路径下py文件中的函数方法总结
-
C++ 调用Python3 脚本中无法引入内建模块的问题解决方法