性能测试基础---jmeter入门
·Jmeter入门
·Jmeter的简介:
·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具。
·Jmeter的下载:
·最新版:http://jmeter.apache.org/download_jmeter.cgi
·历史版本:https://archive.apache.org/dist/jmeter/binaries/
PS:如果是windows下使用,则下载zip压缩包,如果linux平台使用,则下载tgz。
·安装和使用:
Jmeter是基于java的应用,所以需要有java环境。
·JDK的安装和配置:
·Java的版本,一般来说下载se的版本,然后版本号只需要和Jmeter的要求匹配。
·环境变量的配置
需要配置的环境变量有两个:
·JAVA_HOME:值就是java的安装路径,不包含bin目录。
·PATH变量:是修改而不是新建,将“%JAVA_HOME%\bin;”加入到path变量的最前面。
PS:通过java -version和javac -version进行检测即可。
要保证java和javac的版本的一致性。
·Jmeter的目录介绍
·bin目录:该目录存放了jmeter的主jar包,启动脚本,配置文件。并且该目录是jmeter默认的日志存放目录。
·ApacheJmeter.jar:这是jmeter的主jar包(主类所在的包),可以通过java命令直接启动该jar包达到启动运行jmeter的效果。
·Jmeter.bat/Jmeter.sh:这是官方给的Jmeter的启动脚本,然后右键编辑,是可以设置jmeter启动时的一些JVM参数的。
set HEAP=-Xms1024m -Xmx1024m
set METASPACE=-XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M
PS:一般来说,metaspace 256M就够用,最多给到512M。
Xms和Xmx的值保持一致,建议不要超过物理内存的50%,通常为物理内存最大值的25%即可。
·Jmeter-server.bat/jmeter-server:是Jmeter的联机负载所需要的服务启动脚本。
·Jmeter.properties:该文件是Jmeter的主配置文件。jmeter超过80%以上的配置都是在该文件中完成。
PS:配置文件修改,需要重启jmeter才会生效。
·docs目录:该目录下存放的是jmeter官方的API文档。
·extras目录:该目录存放的是jmeter和其它应用集成所需要的一些文件。主要是jmeter和ant集成所需的文件。
·lib目录:该目录是jmeter启动时的默认的classpath路径。这就意味着在使用jmeter进行测试的过程中,任何需要做import操作的类,都必须以jar包的形式存在于lib目录下。
PS:一旦lib目录下的jar包发生改变,则需要重启jmeter才能有效。
·lib\ext目录:该目录是jmeter用来存放组件、第三方组件和插件的目录。
通常来说我们下载的组件和插件、自定义的组件和插件都需要放在该目录。
·printable_docs目录:该目录下存放的是jmeter官方的使用帮助文档。
·Jmeter的脚本生成:
Jmeter的脚本生成方式很多,但是可以分为三类:
·第三方工具录制。
常用的工具有两种:badboy、blazemeter。
·badboy是基于内置的浏览器来进行录制的。
·缺陷:因为内置浏览器的内核是IE的内核,所以可能会因为浏览器的兼容性导致无法使用badboy进行录制。
录制的脚本在jmeter打开时,一定要对step组件执行一次下列操作:
右键step组件--change controller--逻辑控制器,选择简单控制器。
·blazemeter是提供了chrome浏览器的插件,可以在chrome浏览器中直接录制。
·自带的http代理服务器方式录制。
·代理服务器录制操作详解:
第一步:右键测试计划,添加组件--Threads(Users)--线程组
第二步:右键测试计划,添加组件--配置元件--http cookie管理器。
第三步:右键工作台,添加非测试元件--http代理服务器。
PS:以上三步没有先后之分。
第四步:配置http代理服务器组件,并且启动。
配置项:
·端口:要求在当前机器中没有被占用即可。
检测命令:netstat -an
netstat -an|findstr "端口号"
·目标控制器:选择第一步所添加的线程组。作用是将录制的脚本存放在指定的控制器中,即放在线程组中。
·过滤器的使用:
第五步:设置客户端,使得其通过代理服务器访问被测服务器。
·客户端可能是PC,也可能是移动设备。
如果是pc,则通过windows下的internet选项设置代理。
internet选项--连接--局域网设置,勾选为Lan使用代理服务器。
地址:填写Jmeter所在的机器的IP。
端口:填写Jmeter代理服务器所设置的端口号。
如果是移动设备,则要求移动设备和Jmeter所在的机器在同一个局域网内。(WLAN)
在WLAN高级选项中设置代理。地址和端口同上。
PS:如果要录制的应用使用了https协议的话,则需要将jmeter生成的根证书安装在客户端机器上。
第六步:停止录制,还原客户端代理设置,停止http代理服务器。
·抓包手写。
该方式是能够适用任何情况下的脚本开发。但是要求测试人员具备以下素质:
·熟悉通信协议。
·掌握至少一种抓包工具。
·熟练掌握至少一种封包工具。
性能测试基础---jmeter入门的更多相关文章
- 性能测试基础---jmeter函数二次开发
Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...
- 性能测试基础---jmeter webservice接口测试
·webservice接口测试实现.·SOA:面向服务的体系架构,主要为了应对大型系统的异构需求.典型的实现方式:webservice·微服务:为了对SOA这样的重服务架构进行解耦而存在的.一个or几 ...
- 性能测试基础---jmeter参数化、关联、事物、检查的等
·Jmeter脚本增强·性能测试的脚本增强技术:参数化.关联.事务.检查点.思考时间和集合点. ·参数化:在Jmeter中,实现参数化的方式很多.本质上来说,参数化的实现方式有两种:·文件方式:一般建 ...
- 性能测试基础---jmeter二次开发
·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ...
- 性能测试基础---jmeter基础
·Jmeter的脚本构成: Jmeter的脚本是由很多不同的组件构成,在Jmeter中,组件可以分为以下几类: ·测试计划: 是默认存在的组件,所有的Jmeter的组件都是依赖于测试计划的. 在这个组 ...
- 1. APP移动端性能测试基础知识入门
本博客要点 生命周期 堆和栈 垃圾回收 adb命令 Activity的生命周期
- JMeter性能测试基础 (1) - 安装及简单使用
Apache JMeter是一款开源性能测试工具,全部功能使用Java编写,可用于进行性能测试.JMeter最初被设计用于Web应用测试,之后被扩展至多个测试领域. Apache jmeter 可以用 ...
- 性能测试工具JMeter 基础(六)—— 测试元件: 线程组
线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...
- 性能测试工具JMeter
JMeter介绍 Apache JMeter是Apache组织的开放源代码项目,具有极高的可扩展性,是一个100%纯Java桌面应用,用于压力/性能测试.JMeter可以用于测试静态或者动态资 ...
随机推荐
- 11/11 <Topological Sort> 207
207. Course Schedule 我们定义二维数组 graph 来表示这个有向图,一维数组 in 来表示每个顶点的入度.我们开始先根据输入来建立这个有向图,并将入度数组也初始化好.然后我们定义 ...
- MySQL实战45讲学习笔记:第二十二讲
一.引子 不知道你在实际运维过程中有没有碰到这样的情景:业务高峰期,生产环境的 MySQL 压力太大,没法正常响应,需要短期内.临时性地提升一些性能. 我以前做业务护航的时候,就偶尔会碰上这种场景.用 ...
- 【活动公告】Hackathon —— 腾讯云AI API接入迷你赛
一. 活动简介 编程马拉松(Hackathon)是将热爱软硬件开发的人聚集起来所举办的一项比赛,本次活动由腾讯云AI联合云+社区发起,希望让广大开发者体验到腾讯云AI的魅力.比赛过程中,参赛者可以尽情 ...
- windows 7输入regedit 打不开注册表
Win 10 win 7 Win7 regedit 打不开 怎么打不开 打不开了怎么办 没反应 不能打开 注册表? 1.使用键盘快捷键 win+r,打开运行工具. 2.在输入框内输入gepedit.m ...
- PHP 命名空间笔记
PHP 命名空间笔记 1.php文件代码如下<pre><?php//我用这样的命名空间表示处于blog下的article模块namespace Blog\Article; class ...
- windows远程桌面无法拷贝文件的问题与解决方法
在开发完往windows服务器上部署系统或者给系统打补丁的时候,都会需要远程桌面的双向拷贝文件功能. 但是有些时候却会发现没有办法拷贝文件,原因主要有两个. 01 远程桌面的剪贴板设置 一个是在远程桌 ...
- Dart面向对象编程(二)
继承: person.dart: class Person{ String name; int age; String _birthday; bool get isAdult => age &g ...
- flutter-初识(基础语法)
前言:笔者学过 java,刚刚接触 flutter,记录下基本的一些语法. 一.认识Flutter Flutter 是 google 推出的,使用的 Dart 语言,它可以跨平台实现 Android ...
- java 中遍历Map的几种方法
方法分为两类: 一类是基于map的Entry:map.entrySet(); 一类是基于map的key:map.keySet() 而每一类都有两种遍历方式: a.利用迭代器 iterator: b.利 ...
- JavaIO学习:字符流
JavaIO流之字符流 字符流 Reader InputStreamReader FileReader:专门用于处理文件的字符读取流对象. Writer OutputStreamWriter File ...