Jmeter开发脚本
目录
- 本篇内容
- 重点&难点
- Jmeter环境安装与配置
- Jmeter目录结构
- JmeterGUI工具介绍
- 工具菜单
- 更改显示语言(语言切换)
- Jmeter脚本组成部分
- HTTP协议
- 接口数据来源
- HTTP接口重要组成部分
- HTTP请求
本篇内容
- Jmeter环境配置
Jmeter配置与安装
Jmeter工作原理 - Jmeter上手
文件目录介绍
工具介绍 - 制作脚本
HTTP协议
接口
编写脚本
负载测试关键词:逐步增加并发用户数,找到区间,再细化区间后,找到拐点。
压力测试关键词:服务器稳定性。
重点&难点
- 重点
- Jmeter组成部分
- Jmeter编写脚本
- 难点
- HTTP协议
Jmeter环境安装与配置
- Apache下的java开源 免费
- java开发一运行环境jre、jdk;跨平台
jre(Java Runtime Environment) java运行环境的英文缩写
jdk(Java Development Kit) java的开发工具包的英文缩写(包含了jre)
java -version - 安装jdk(建议1.8),因为jmeter是基于jdk1.8开发的,比较稳定。较高的jdk版本,有可能造成部分功能不能正常使用。典型:soap接口,如果公司采用soap协议,用jmeter做测试,如果安装的不是jdk1.8,可能出现无法正常使用的问题。linux或者mac电脑安装openjdk1.8就行了。一台电脑允许安装多个jdk版本,环境变量中只能有一个jdk版本。
- 下载免费的jmeter
- 启动jmeter(只需要配置jdk的环境变量,不需要配置jmeter的环境变量。配置jmeter的环境变量,可能导致jmeter无法启动,闪退)
3.1 同一个系统中,可以启动多个jmeter(相同版本、不同版本)
3.2 bin jmeter.bat(批处理文件)ApacheJmeter.jar
windows双击jmeter.bat启动jmeter
mac启动jmeter命令如下,两种方式:
- 启动jmeter(只需要配置jdk的环境变量,不需要配置jmeter的环境变量。配置jmeter的环境变量,可能导致jmeter无法启动,闪退)
sh jmeter.sh
./jmeter.sh
注意:jmeter不要去使用低于5的版本。因为界面不同(入口找不到),功能发生变化,性能得到优化,本身这款工具的性能得到了提升。
赋权限:在bin文件夹下执行chmod +x * 赋予权限,保证权限正常。
如果执行命令chmod +x jmeter.sh,只给jmeter.sh赋权限,还会依赖于其他文件,会出现别的文件没有执行权限导致的报错。
性能测试的脚本,可以用于功能测试,也可以用于自动化测试。
功能测试的脚本,或者自动化测试的脚本,不能直接用于性能测试。
性能测试的脚本,可以简化一下,不要做并发用户,就可以直接用于功能测试或自动化测试。
在bin目录下存在ApacheJMeter.jar,双击不能运行,可以通过如下命令运行:
如果是windows系统,bin目录下直接cmd打开DOS窗口
java -jar ApacheJMeter.jar
两种启动方式有区别:使用jar文件启动起来的是中文界面,使用双击jmeter.bat启动起来的是英文界面。两种启动方式均可,只是读取的配置文件不同。
mac右键点击bin文件夹,可以选择New Terminal at Folder,打开command窗口
Jmeter目录结构
- bin:启动脚本,jar文件,配置文件。一般java项目都会包括启动所需要的文件都会在bin目录下。配置文件不一定在这个目录下面。默认情况下,保存的jmeter脚本。
- docs:api文档。api:javadoc,java
- api文档,注释/注解信息。要对Jmeter进行二次开发,就可以看源码的接口文档,调源码里面的接口。jmeter可以用java做二次开发,也可以用python里面的jython这种语言来写。
- extras:扩展,希望能够实现持续集成、持续交付。
- lib:字典或者库(library的缩写)。jmeter本身这款工具的源码包,源码打成jar包。自己对jmeter进行二次开发的jar包,放在lib这个文件夹中。第三方jar包使用,放在**/lib/ext,放第三方插件**。junit是单元测试脚本。
- licenses:apache组织的开源工具,所使用的licenses,就是apache的licenses。
- printable_docs:帮助文档,操作手册(本地文件)。官方在线的操作文档,永远都是最新版本的操作文档。更多的是看自己本地文件夹的离线帮助文档,和安装的版本是一致的。
- README.md:文档。可以用记事本打开。
注:不要从工具中引入库,会出现各种各样的问题,要放入lib或者lib/ext文件夹。
JmeterGUI工具介绍
工具菜单
更改显示语言(语言切换)
- 选项-选择语言-选择中文简体
- language=zh_CN
菜单工具栏:Options(选项)->Choose Language(选择语言)->English or Chinese (Simplified) (英语 or 中文简体)
这是一种临时切换语言方式,只有当前这一次有效,下一次打开仍然恢复到原先的语言配置。
- ini是windows配置文件的后缀。
- conf是linux配置文件的后缀。
- properties和xml是java常用的配置文件的后缀,yaml还不是java最主流程的配置文件的后缀。
jmeter中最关心的配置文件是:jmeter.properties
在bin目录下,可以用记事本直接打开。这边更改语言之后,是永久生效。
Jmeter脚本组成部分
- 工具栏右上角的惊叹号三角形为日志面板,logcatch
panel,显示的是工具本身的日志。日志级别有INFO、ERROR等,一般不会调整日志级别。 - 右上角0/0,就是当前并发用户数。
- 测试计划:根文件夹,项目根目录,都是通过右击添加。
元件:
- 线程组
- 取样器:不同的元件,编辑区不一样。根据不同的协议,来写脚本的元件。
- 监视器:在线程组上面右键添加监听器。比如查看结果树。
HTTP协议
协议:超文本传输协议 https = http + ssl(Tls)
用于规定客户端与服务端的数据传输格式
tcp:面向连接,提供可靠数据传输 srt dst(三次握手四次挥手)
udp:无连接的,尽快传输数据
接口数据来源
- 接口文档/api文档
- 网络抓包(http)
HTTP接口重要组成部分
请求的四部分:请求行、请求头、空一行、请求体
- 请求行:请求方法(get、post等)和请求uri地址(变化的),以及请求协议规范版本(基本上都是1.1规范版本)
- 请求头:host 、ua、Content-Type(application/x-www-form-urlencoded 浏览器表单提交格式-浏览器默认提交请求的数据格式,把参数直接跟在url地址后面、application/json json格式、text/html 文本格式、multipart/form
- -data 表单)…,在线程组->添加->配置元件里面,HTTP信息头管理器。
- 请求体:request body,请求参数。
线程组-添加-逻辑控制器,最常用的有
- if控制器
- for循环控制器
用户参数等的设定,可以在线程组-添加-前置处理器里面添加。配置元件里面有个用户定义的变量。有点类似setup,teardown,但还不是,不等于这两个。
需要拿到请求结果里面的值,就需要用到线程组-添加-后置处理器。
实际结果与预期结果进行比较,需要用到线程组-添加-断言-响应断言。
思考时间,暂停休息一下,可以添加线程组-添加-定时器-固定定时器。
测试片段,用来管理我们的测试脚本。
响应的四部分:响应头、响应行、响应体
HTTP请求
Request Body
Request Headers
Response headers
绿色箭头这是表示网络是通的,并不代表接口请求结果是正常的。
红色箭头表示网络出错了。
服务器名称或IP:里面不能带有斜杠,前后都不能有斜杠。
端口:默认端口为80端口,可不填写。
路径:里面不能重复再次添加IP和端口
控制请求不乱码的三个地方:
- 内容编码:utf-8,只对请求有效,对响应无效。保证中文正常,有3个地方。这是其中一个地方。
- 请求值:有中文的时候,一定要记得编码处要打勾。不然的话,会把中文直接带到url地址后面,就有可能出现url地址直接报错,服务器不识别。或者出现中文乱码,直接进入到数据库。
密码加密,也一定要勾选编码。防止加密的密码出现“等于号”“加号”出现url地址报错,无法访问。为什么等于号会出现?url中,都是key=value,如果密码中出现等于号,就没法匹配了。
为了保险起见,为了避免不出错,把编码都钩上。 - 第三个地方,在HTTP信息头管理器,加入charset=utf8。
英文和数字编码打勾后,不变,仍然是英文和数字,只有中文和特殊符号编码后,会变化。
Jmeter开发脚本相关推荐
- nmon结果分析工具_Jmeter测试工具实践:如何为Jmeter开发测试插件定制专属取样器?...
JMeter原生支持多种不同的取样器(HTTP.TCP.JDBC.JMS等),每一种不同类型的取样器可以向服务器发送不同协议类型的请求.除了开箱即用的协议支持以外,JMeter还支持用户自己开发新协议 ...
- 如何为Apache JMeter开发插件(三)——冲破图片验证码的束缚
我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步 ...
- 使用Jmeter开发app端接口自动化案例实战
开发思路 1.开发app端接口自动化案例,首先需要使用Fiddler抓包: 2.目前接触到的app端都是https协议,所以需要开启Fiddler的https协议 3.抓包完成之后,使用jmeter模 ...
- Jmeter性能测试脚本实战
charles抓包经验分享 1.设置过滤 2.对于抓包操作进行备注 3.去掉资源文件(js/css/imgs/wav等) 其他去除资源文件方法,在过滤中设置exclude中添加正则 Charles抓H ...
- cocos creator休闲游戏甜品幻想H5+安卓+IOS三端源码开发脚本为javaScript
cocos creator休闲游戏甜品幻想H5+安卓+IOS三端源码,开发脚本为javaScript方便扩展和阅读,支持cocos creator2.X版本,完整的源码可拿来运营学习研究二次开发. 1 ...
- Jmeter录制脚本fiddler fiddler录制jmeter脚本
jmeter录制脚本有多种方法,例如badboy.fiddler.jmeter自带的等. fiddler录制 jmx 脚本 fiddler安装使用请自行百度. 分享自己使用的插件及fiddler: 链 ...
- 使用JMeter 录制脚本
使用JMeter 录制脚本,参考的一个博主的,我记录到我这里,留着以后用哈哈哈哈 1,添加 HTTP代理服务器 测试计划右键–>添加–>非测试元件–>http代理服务器 2,添加线程 ...
- 使用loadrunner javavuser协议开发脚本实战
众所周知,Java语言是一门非常适合网络开发的语言,用Java语言进行性能测试脚本开发将会大大提高测试开发效率.LoadRunner中提供了对Java虚拟用户的支持.Java虚拟用户依托于JDK,这大 ...
- android开发脚本之awk
引言 android开发脚本之过滤特定包名的log 这个样例中,其它的都好懂,就是awk,可能如果没有接触过,就是有点不明白是怎么回事,下面简单的讲讲awk 简介 awk是一个强大的文本分析工具,相对 ...
最新文章
- phalcon遇到的那些坑
- python入门有基础-python入门基础
- 中国移动手机网络私有网络连接问题解决办法
- 单行溢出文本显示省略号的方法(兼容IE FF)
- 《计算机网络:自顶向下方法(原书第6版)》一第1章
- DataGrid分页(1)
- Graphviz安装配置教程(图文详解)
- Java - HttpClient 下载文件
- 【ios】为什么要在Other Linker Flags添加Flag (eg:-ObjC、-lc++等)?
- linux虚拟机中如何复制粘贴内容到主机
- mysql数据库的超级管理员名称_MySQL数据库的超级管理员用户的名称是__________。...
- 腹肌锻炼视频(02):八种基本动作
- (转)2016年对冲基金经理“封神榜”
- 程序员:迟到1分钟罚300,加班却视而不见,月底工资让人寒心
- 《求职》第四部分 - 操作系统篇 - Linux基础
- 语言哲学与计算机语言,20世纪语言哲学和心智哲学的发展走向——以塞尔为例...
- 【转载】双微信分享发生TransactionTooLargeException 异常记录
- PHP实验报告 点餐系统,点餐系统软件工程实验报告.doc
- STM32cube 控制 AIP650 TM1650
- Unity shader build 打包android和PC机显示效果不一样
热门文章
- 极客头条:5月31日科技资讯 |中国计算机学会暂停与IEEE合作;百度接连五位高管离职;所有版本 Docker 被爆严重漏洞!
- AcWing 4956. 冶炼金属
- 138Vue-带参数自定义指令directive、v-foucs
- 链表使用基础——如何创建链表
- 有这样的老婆,真舒服!
- c语言程序运行环境实验报告,程序的运行环境实验报告.doc
- Postgres SQL 设置pgAdmin使用谷歌打开
- openssl hmac源码分析
- KMP算法(字符串匹配问题)acm寒假集训日记22/1/19
- <十四五规划以及2035年远景目标建议> 简单提炼