jpython和python区别_jmeter压测学习38-通过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 同时拥有解释器和编译器,使其无需编译就可以测试程序代码。

20210112164702028866.png

下载 Jython Standalone 版本

20210112164702591366.png

把下载的Jython 的jar包放到 jmeter的lib文件夹。重启jmeter

JSR223 Sampler

添加-取样器-JSR223 Sampler

20210112164702653866.png

选择 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)

20210112164702731991.png

变量获取与日志

前面定义了用户变量 user, 变量的获取依然用 vars.get(‘var name‘) 获取。

这里print的内容无法输出到屏幕,可以用log.info() 输出日志内容

20210112164702810116.png

设置响应

通过SampleResult对象设置响应的结果

# 设置响应信息

SampleResult.setResponseData("return message");

SampleResult.setResponseCode("502")

SampleResult.setSuccessful(False)

20210112164702872616.png

也可以返回自定义的结果

20210112164702919491.png

原文:https://www.cnblogs.com/yoyoketang/p/14265935.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值