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 同时拥有解释器和编译器,使其无需编译就可以测试程序代码。

官网下载地址:https://www.jython.org/download

下载 Jython Standalone 版本

把下载的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)

也可以返回自定义的结果

2021年第六期《python接口自动化+测试开发》课程,1月9号开学(火热报名中!)

本期上课时间:1月9号-4月18号,每周六、周日晚上20:30-22:30

(0)

相关推荐

  • Python tkinter是什么?有哪些功能?

    不用过多介绍,想必大家都知道Python有很多第三方库,而今天这篇文章为大家介绍的是Python的Tkinter界面库.众所周知,Python的GUI库非常多,但为什么Tkinter更受欢迎呢?一是简 ...

  • linux Centos7系统中安装Jmeter说明

    第一步:安装JDK 1.下载JDK 1)可以在JDK官网下载linux版本的JDK文件,再上传到linux系统中 切换到root用户:su root 解压上传好的JDK安装包:tar -zxvf jd ...

  • jmeter压测学习2-linux运行jmeter环境

    前言 使用jmeter做压测的时候,在windows上不太稳定,所有一直在linux服务器上使用jmeter做压力测试. 本篇记录下linux上搭建jmeter环境,以及运行jmeter脚本,查看报告 ...

  • jmeter压测学习5-XPath提取器

    前言 有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面. 并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmidd ...

  • jmeter压测学习4-正则表达式提取

    前言 上一个接口返回的token作为下个接口的入参,除了前面一篇讲到的用json提取器提取,也可以用正则提取. json提取器只能提取json格式的数据,正则可以匹配任意的返回. 我现在有一个登陆接口 ...

  • jmeter压测学习3-提取json数据里面的token参数关联

    前言 现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值. 上一个接口返回的token作为下个接口的入参. 案例场景 我现在有 ...

  • jmeter压测学习7-登录参数化(CSV 数据文件设置)

    前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况. 如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有 ...

  • jmeter压测学习8-压测带token的接口

    前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口. 比如我现在要压测一个修改用户的个人信息接口,每个用 ...

  • jmeter压测学习11-模拟浏览器访问web页面

    前言 在做性能测试的时候,有时候我们希望测试用户访问一个web页面的加载时间,使用 jmeter 压测的话,需模拟浏览器的行为,加载整个页面的内容. 包含一些js,css,png图片资源等文件的加载. ...

  • jmeter压测学习14-jmeter返回内容中文乱码问题

    前言 在使用 jmeter 测试的时候,有些 html 页面返回的中文内容显示乱码,导致无法正常查看中文的内容 乱码场景 在打开百度页面时,返回的html内容中文显示乱码,如下图所示 出现乱码的原因, ...

  • jmeter压测学习13-添加配置元件之HTTP请求默认值

    前言 在使用jmeter测接口的时候,当我们的接口数量越来越多的时候,在每个接口里面都需要添加服务器ip和端口. 当测试环境的ip和端口发生改变时,需一个个去修改这时候去维护接口就很麻烦,我们希望有个 ...