jmeter学习
文章平均质量分 67
本主题包括:jmeter的基本组件使用、jmeter高级使用、jmeter插件编写、jmeter部分源码。包含大量的实例方便学习
二两酒馆
测试攻城狮一枚
展开
-
使用jmeter测试https绕过证书实验
背景:由http转https,采购解析https的板卡,评估性能。使用LR测试时发现不同网段的请求有的网段会被拦截(具体原因还未来得及细查)。随后改用jmeter测试。顺便就研究了一下能否绕过https证书,做了个demo记录一下,备用示例一个能用jmeter调用的java请求。添加依赖jar:httpclient相关包、jmeter相关包(ApacheJMeter_core.jar、Ap...原创 2018-04-13 11:35:33 · 10369 阅读 · 1 评论 -
JMeter插件-----JMXMon插件监控JVM
准备1、以windows为例,本地准备jmeter,这里用的是3.1 2、要监控的jvm配置jmx:-Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.r...原创 2018-05-17 19:31:38 · 8010 阅读 · 0 评论 -
jmeter应用-----beanshell的使用
概述BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型、命令、闭包等通用脚本来对其进行拓展。BeanShell不仅仅可以通过运行其内部的脚本来处理Java应用程序,还可以在运行过程中动态执行你java应用程序执行java代码。因为BeanShell是用java写的,运行在同一个虚...原创 2018-06-29 13:35:49 · 7207 阅读 · 0 评论 -
jmeter将统计结果写入influxdb
前提:influxdb:建议用最新的,自行选择jmeter:版本2.13+假设:influxdb安装完成,没有安装可以参看之前的博文或者自行google步骤修改influxdb配置,开启graphite[root@test25 ~]# vim /etc/influxdb/influxdb.conf……[[graphite]] enabled = true...原创 2018-09-13 19:01:24 · 4995 阅读 · 6 评论 -
jmeter配置
Jmeter的安装网上一大堆,不在赘述,就是两个主题:正确配置JDK(包括版本)下载最新版Jmeter运行,写个demoJmeter配置如果需要改变JMeter运行时的属性,你需要改变在/bin目录的user.properties文件,或者创建你自己的jmeter.properties文件并且在命令行指定它。注意 在文件user.properties中可以定义附加的JMeter属性,改变us原创 2017-08-01 13:32:49 · 5799 阅读 · 0 评论 -
jmeter运行
要运行JMeter, 只需要运行 jmeter.bat (for Windows) 或jmeter (for Unix) 文件。jmeter.bat和jmeter在 JMeter的bin 目录中。经过短暂的初始化,jmeter UI界面将会启动。 Jmeter有两种模式GUI:通常用来制作编辑测试脚本NON GUI:通常用来进行压力测试Jmeter的bin目录jmeter的bin目录还存在一原创 2017-08-01 15:05:30 · 14215 阅读 · 0 评论 -
jmeter---正则表达式
概述JMeter包含模式匹配软件Apache Jakarta ORO,在Jakarta 网站上有一些文档,例如关于 模式匹配字符的总结,也有关于 OROMatcher用户指南的文档。 模式匹配非常类似于Perl中的模式匹配。Perl的完整安装将包括大量关于正则表达式的文档——查找perlrequick, perlretut, perlre 和 perlreref。 值得强调的是”contains原创 2017-08-02 10:07:32 · 14173 阅读 · 0 评论 -
jmeter编辑web脚本
jmeter测试web的脚本有两种方式badboy录制,并导出为jmeter的jmx脚本使用http代理服务器进行录制badboy录制1、下载badboy badboy官网 2、安装badboy,按照提示傻瓜式安装 3、录制脚本4、导出为jmeter脚本5、使用jmeter打开脚本进行二次编辑 可以删除不需要的请求,添加各种监听器,分组等~ 6、运行使用http代理服务器录制脚本1原创 2017-08-03 20:10:55 · 5819 阅读 · 0 评论 -
jmeter函数和变量(一)
概述对jmeter函数进行一次全面复习,依据是官网的文档版本3.2。本来想一篇写完的,中间做项目和一些杂事拖了2个礼拜,再回来写的时候发现太长了~还是分开写比较妥当。先放出一部分吧。函数和变量JMeter函数是一种特殊的值,可以在测试树中填充任何采样器或其他元素的字段。函数调用如下:${__functionName(var1,var2,var3)}“__functionName”与具体的函数名匹配。原创 2017-08-03 21:15:48 · 11213 阅读 · 0 评论 -
jmeter函数和变量(二)
接上篇 jmeter函数和变量 http://blog.csdn.net/yue530tomtom/article/details/76651040__javaScript函数__javaScript可以用来执行JavaScript代码片段(非Java),并返回结果值。JMeter的__javaScript函数会调用标准的javascript解释器。JavaScript会作为脚本语言使用,因此可以做原创 2017-08-21 20:12:18 · 8584 阅读 · 0 评论 -
jmeter函数和变量(三)
接上篇 jmeter函数和变量 http://blog.csdn.net/yue530tomtom/article/details/77456506__log记录一个日志并返回输入的字符串 Attribute Description Required 日志字符串 一个字符串 是 日志级别 OUT、ERR、DEBUG、INFO(默认)、WARN或者ERROR 否原创 2017-08-24 17:46:40 · 8032 阅读 · 0 评论 -
jmeter函数和变量(四)
接上篇 jmeter函数和变量 http://blog.csdn.net/yue530tomtom/article/details/77533426__V函数__V可以用于执行变量名表达式,并返回执行结果。它可以被用于执行嵌套函数引用 例如,如果存在变量A1、A2和N=1,则: ${A1}:能正常工作。 ${A${N}}:无法正常工作(嵌套变量引用)。 ${__V(A${N})}:可以正常工原创 2017-08-25 14:17:33 · 7178 阅读 · 0 评论 -
jmeter其他特性---工作台
工作台为测试中不使用的测试元素提供一个临时存的位置,目的是提供复制/粘贴或者其他目的。保存测试计划工作台的内容默认不会保存除非选择”save workbench”(保存工作台)选项。工作台可以被独立的保存,比如在选中工作台节点时,右键–选中部分保存为工作台选项配置如下图 工作台只能包含HTTP(S) Test Script RecorderHTTP Mirror ServerProperty原创 2017-08-28 11:27:31 · 10200 阅读 · 0 评论 -
jmeter其他特性---HTTP Mirror Server
概述HTTP Mirror Server是一个简单的HTTP服务器——将其接收到的请求信息原样返回,可以在样本请求的响应结果面板中查看。如此就可以验证发送的样本请求信息是否正确,以供调试测试脚本所用。应用添加方式: 工作台->右键->添加->非测试元件->HTTP Mirror Serverhttp mirror server的设置有3个选项:port:HTTP Mirror Server镜像服原创 2017-08-28 11:59:47 · 5639 阅读 · 0 评论 -
jmeter其他特性---debug取样器
概述调试采样器生成包含所有JMeter变量、属性值的样本。可以在监听器 “观看结果树”中查看。调试脚本的利器应用 属性 描述 是否必填 名称 在jmeter树中展现使用 否 JMeter属性 包含jmeter属性 是 JMeter变量 包含JMeter变量 是 System属性 包含System属性 是 调试脚本的一种利器原文连接原创 2017-08-28 14:11:36 · 6922 阅读 · 0 评论 -
jmeter其他特性---Debug PostProcessor
概述Debug PostProcessor(调试后置处理器)使用前面的采样属性的详细信息创建了一个子样例,jmeter变量、属性和系统属性。 结果的值可以在监听器—观察结果树中查看返回值 属性 描述 是否必填 名称 在jmeter树中显示的名字 否 JMeter属性 是否显示jmeter属性(默认是false). 是 JMeter变量 是否显示jmeter原创 2017-08-28 14:16:27 · 7427 阅读 · 0 评论 -
jmeter写插件
JMeter Gui – TestElement约定在编写任何JMeter组件时,必须注意某些特定的约定——如果JMeter环境中正确地运行JMeter组件,那么它将会运行。本部分描述了组件的GUI部分必须满足的约定。 JMeter中的GUI代码严格地与测试元件代码(这里指逻辑控制代码,下同)分离。因此,当编写一个组件时,将会有一个用于测试元件的类,另一个用于GUI表示。GUI类是无状态的,因此它原创 2017-08-28 16:00:56 · 8361 阅读 · 1 评论 -
jmeter源码---导入eclipse工程
下载jmeter源文件到 官网 下载源文件。本案例我下载是 jmeter3.2eclipse新建工程1、打开Eclipse,建立一个JavaProject,按照下面的截图建立JavaProject; 2、导入jmeter源码 选择 “JmeterSrc32”项目,右键选择import,然后选择“File System” 3、用Ant下载项目所需要的jar文件 执行download_j原创 2017-09-06 19:11:24 · 6442 阅读 · 0 评论 -
jmeter源码---gui简单介绍
概述二次开发JmeterGUI的源码需要有swing基础支持的支撑,不熟悉请自行学习,在此不做赘述启动加载src/core中org.apache.jmeter资源包,这是启动jmeter GUI的入口。 jmeter启动的入口类为NewDriver,启动核心为JMeter的start方法,运行完start方法,jmeter的界面就启动完成了。 此包中还有三个类 类名 作用 Dynami原创 2017-09-14 17:40:50 · 6034 阅读 · 0 评论 -
jmeter源码---Mainframe
概述创建jmeter主界面,包含菜单、测试树、GUI组件;这里用到最多的是swing相关知识进行主界面的布局,涉及的组件有JTree、JButton、JPanel、JScrollPane、JTextArea、JLabel、JDialog、JSplitPane、JCheckBox、JFileChooser等介绍该类实现了TestStateListener, Remoteable, DropTarget原创 2017-09-15 18:12:11 · 5238 阅读 · 0 评论 -
jmeter源码---JmeterUtils
概述此类包含jmeter实用的静态方法介绍getPropertiesloadJMeterProperties():加载jmeter配置文件,如果没有发现,默认使用classpath中的org/apache/jmeter/jmeter.properties getSearchPaths():生成搜索的路径列表,输出的路径以JMETER_HOME/lib/ext开始,并且包含Jmeter配置文件配置的原创 2017-09-15 18:25:10 · 6248 阅读 · 0 评论 -
jmeter源码---核心JMeterEngine
概述JMeterEngine接口被运行Jmeter的测试类实现,此接口共8个方法,其中无参stopTest()是调用的stopTest(boolean now),也可说是7个方法void configure(HashTree testPlan);void runTest() throws JMeterEngineException;default void stopTest(){stopTes原创 2017-09-18 10:52:54 · 8270 阅读 · 0 评论 -
jmeter源码---StandardJMeterEngine
概述执行jmter tests ,直接用于本地GUI和非GUI调用,或者在服务器模式下运行时由RemoteJMeterEngineImpl启动介绍在JMeterEngineImpl中做了一部分的解释,可以结合着看主要变量灵魂级变量,注意关键字volatileprivate static volatile StandardJMeterEngine engine;构造函原创 2017-09-21 18:26:26 · 10375 阅读 · 1 评论 -
jmeter源码---HashTree
概述该类用于创建测试对象的树结构。树中的每个元素也是树下一个节点的键。它提供了许多方法来添加对象和分支,以及许多检索的方法。HashTree为了方便的原因实现了映射接口。Map和HashTree的主要区别在于,HashTree将数据组织到一个递归树结构中,并提供了操作该结构的方法。特殊的兴趣是@link横贯(HashTreeTraverser)方法,它提供了一种方便的方法,通过实现@link原创 2017-09-22 17:12:56 · 6613 阅读 · 0 评论 -
jmeter应用---创建测试计划
概述测试计划是描述Jmeter运行时所需的一些列步骤。一个完整的测试计划将包括一个或多个元素,如线程组,逻辑控制器,样品产生控制器,监听器,定时器,断言和配置元素。参考 http://jmeter.apache.org/usermanual/build-test-plan.html添加/删除元素为了方便演示,先打开jmeter软件,默认会有一个测试计划。元素之间有非常明确的层级,就是添加是必须选中一原创 2017-10-13 16:08:50 · 5706 阅读 · 0 评论 -
jmeter应用---测试元件介绍(一)
概述构成测试计划的基本组件,测试至少包含一个测试计划、一个线程组、一个或多个取样器测试计划新建测试时,默认会有一个测试计划,是指定测试的总体设置的地方。public JMeterTreeModel() { this(new TestPlanGui().createTestElement(),new WorkBenchGui().createTestElement());}public J原创 2017-10-13 18:04:49 · 6792 阅读 · 0 评论 -
jmeter应用---测试元件介绍(二)
一直准备大促,中断了太久了接上篇 http://blog.csdn.net/yue530tomtom/article/details/78229064取样器FTP RequestFTP控制器可以向FTP服务器发送下载文件和上传文件的请求,如果需要多次向FTP服务器发送相同的请求,可以使用配置元件”FTP Request Defaults “进行配置,减少重复的通用配置。来看看该取样器的样子原创 2017-11-24 16:47:10 · 5603 阅读 · 0 评论 -
jmeter应用---测试元件介绍(三)
Java Request使用比较频繁的一个取样器,一般接口测试,用这个足够(特殊要求除外)。 此取样器允许操作实现了org.apache.jmeter.protocol.java.sampler.JavaSamplerClient接口或者继承AbstractJavaSamplerClient抽象类的java类。通过接口的实现,可以使用jmeter控制多线程、输入参数、数据收集。 注意 实原创 2017-11-27 14:11:05 · 5595 阅读 · 0 评论 -
jmeter应用---测试元件介绍(四)
JSR223 Samplerjsr223的采样器允许使用jsr223脚本代码来运行一个取样器。 jsr 223测试元素有一个可以显著提高性能的特性(编译)。从这个特性中获益:使用脚本文件而不是内联它们。这将使JMeter编译它们,如果这个特性在ScriptEngine中可用,并缓存它们。若编译属性设置为true,可以使用脚本文本和检查缓存编译的脚本。 在使用这个特性时,确保脚本代码没有直接在原创 2017-11-28 18:20:28 · 7579 阅读 · 1 评论 -
jmeter应用---逻辑控制器(一)
参考资料:官网概述逻辑控制器控制Samplers执行的顺序;作用域是具体逻辑控制器元件的子节点,就是说放在控制器下面的所有的采样器都会当做一个整体,均受逻辑控制器控制。jmeter提供了多样的逻辑控制器,如下图:jmeter共提供17个逻辑控制器,下面逐个介绍Simple Controller(简单控制器)Jmeter里最简单的一个控制器,它可以组织采样器和其它的逻辑控制器(分组功能),提供一个块的原创 2017-11-29 11:52:25 · 5812 阅读 · 0 评论 -
jmeter应用---逻辑控制器(二)
Switch Controller(Switch控制器)Switch控制器类似交替控制器,与交替控制器不同的是switch控制器每次迭代运行子节点的其中一个,通过给该控制器中的Value赋值,来指定运行哪个采样器,而不是交替执行。有两种赋值方式:数值,Switch控制器下的子节点从0开始计数,通过指定子节点所在的数值来确定执行哪个元素,当switch的value超过区间时,执行第0个元素。直接指原创 2017-11-29 16:37:33 · 5345 阅读 · 0 评论