Jmeter 执行Python代码(十二)
Jmeter 中BeanShell 中支持JAVA语言,可以使用Java来辅助我们实现一些逻辑,之前也介绍过BeanShell 导入Java的三种模式,如果我们不会写Java怎么办(虽然我们遇见的一些问题可以通过百度查询到结果),但是我们是否可以转换下思路来解决这样的问题,比如使用比较熟悉的语言例如Python(目前对于测试人员来说Python属于普及的语言)来代替实现一些代码逻辑。介绍Jmeter 执行Python代码,首先我们需要来先介绍下JSR,因为这个过程的实现与他密切相关。
一、JSR 简介
JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。
我们了解了什么是JSR以后我们下面需要在Jmeter中使用JSR223标准来执行我们自己的Python代码
二、Jmeter JSR223 Sampler
1、Jmeter JSR223 支持的语言
Jmeter 基于JSR223标准 支持使用多种编程语言编写脚本程序,默认使用Groovy,默认是不支持Python语言,我们需要通过Jpython来扩展Jmeter对Python语言的支持
2、Jmeter 扩展Python语言支持
1、下载Jython
我们需要选择Jython Standalone来下载,目前里面提供了多种版本,我们只想选择最新版本下载;
步骤1.
步骤2.
2、把下载的jython-standalone-2.7.2.jar 放到 jmeter的lib/ext文件夹。重启jmeter,此时就可以看到支持Python语言(如果不重新启动默认不会生效)
三、Jmeter 配置JSR223 Sampler
1、添加JSR223 Sampler
2、选择实现逻辑的语言
3、通过Python实现身份证号码的md5加密(Script区域可以实现任意代码逻辑)
import hashlib # 定义密码 password = "admin" # 对密码进行md5加密 m = hashlib.md5() m.update(password .encode(encoding="utf-8")) password = m.hexdigest() # 存储value到变量key vars.put("password",password)