软件测试技能,JMeter压力测试教程,通过Jython调用Python脚本(二十三)

目录:导读

    • 一、前言
    • 二、Jpython
    • 三、JSR223 Sampler
    • 四、变量获取与日志
    • 五、设置响应

一、前言

前面在 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软件测试技能,JMeter压力测试教程,通过Jython调用Python脚本(二十三)_第1张图片
下载 Jython Standalone 版本
软件测试技能,JMeter压力测试教程,通过Jython调用Python脚本(二十三)_第2张图片
把下载的Jython 的jar包放到 jmeter的lib文件夹,重启jmeter

三、JSR223 Sampler

添加-取样器-JSR223 Sampler软件测试技能,JMeter压力测试教程,通过Jython调用Python脚本(二十三)_第3张图片
选择 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)

软件测试技能,JMeter压力测试教程,通过Jython调用Python脚本(二十三)_第4张图片

四、变量获取与日志

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

这里print的内容无法输出到屏幕,可以用log.info() 输出日志内容软件测试技能,JMeter压力测试教程,通过Jython调用Python脚本(二十三)_第5张图片

五、设置响应

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

# 设置响应信息
SampleResult.setResponseData("return message");
SampleResult.setResponseCode("502")
SampleResult.setSuccessful(False)

软件测试技能,JMeter压力测试教程,通过Jython调用Python脚本(二十三)_第6张图片
也可以返回自定义的结果软件测试技能,JMeter压力测试教程,通过Jython调用Python脚本(二十三)_第7张图片


你可能感兴趣的:(测试,软件测试,压力测试,压力测试,python,jmeter,软件测试,测试工程师)