性能工具之Jmeter扩展配置元件插件

2018-09-10   出处:7DGroup  作/译者:左泽位  


背景

Jmeter有很多的配置元件可以定义变量值在测试过程中使用

比如最常见的两个:

  • 用户自定义变量

  • CSV数据文件设置

配置元件主要是用于测试前配置,将配置转换为变量设置到Jmeter context中。

而Jmeter默认并没有配置文件(.properties)读取器,但由于Jmeter是开源的,我们自己可以自定义一个配置元件来读取配置文件。

目标

启动Jmeter后,我们可以从配置元件中看到“Property File Reader”,即我们自定义扩展的配置文件。



在测试计划中添加它后,输入配置文件路径:

  •  支持绝对或相对路径

  •  相对路径相对与当前测试计划JMX文件


比如以下是我们的配置文件 

创建一个简单的测试,如下图Debug Sampler的响应数据显示了我们读到属性值,在Jmeter中通过表达式${__P(Propertyname)}来获取属性值


Jmeter的插件加载机制

Jmeter启动扫描扩展下的所有实现了JmterGUIComponent和TestBean接口的类,然后进行初始化。



所以只要确保插件的jar包在扩展路径下,默认路径是: JMETER_HOME/lib/ext

Jmeter的GUI机制

由于Jmeter是一个基于Swing的GUI工具,所以对它的GUI框架也需要有一定了解。JMeter内部有两种GUI框架

1.直接继承 JMeterGUIComponent接口的抽象实现类:




扩展配置元件

创建读取配置文件类

  • TestBean是一个标记接口,它会告诉Jmeter创建Test Bean GUI

  • 我们还需要实现TestStateListener接口来读取配置文件


创建插件GUI类

  • 我们还需要为我们的插件创建GUI类

  • GUI类的名字必须是[ComponentName]Beaninfo,且在同一个包中

  • File Path: GUI中的一个显示字段

  • 默认情况:字段是空的,如果没有设置的话

创建插件GUI配置文件

  • 在同一个包中有GUI配置文件,它包含显示名、简短描述等

  • 该文件的命名必须是[ComponentName]Resources.properties

插件目录结构

插件打包

  • 使用mvn clean package命令打包

  • 插件的jar包放到JMETER_HOME/lib/ext下

  • 重启Jmeter

  • 从配置元件中打开-Proerty File Reader

测试插件

  • 增加一个BeanShell Sampler去打印配置文件的值

  • 运行测试,检查Jmeter log

插件测试成功~


本文源码:

https://github.com/zuozewei/Jmeter-Porperty-File-Reader-Plugin


欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
157°|1571 人阅读|0 条评论

登录 后发表评论
最新文章