【性能测试】【Jmeter】学习(1)】的更多相关文章

JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等.JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能.     同时,JMeter可以帮助你对你的应用程序进行回归测试.…
JMeter学习工具简单介绍   一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等.JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能.     同时,JMeter可以帮助你对你的应用程序进行回归测试.通…
JMeter学习(四)参数化 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 一.准备脚本,测试数据 1.录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 2.把我们需要“参数化”的数据,写入记事本,保存为.dat格式的文件,记事本另存为修改编码UTF-8.  注意用户名和密…
Jmeter的组织方式相对比较扁平,直接是TestPlan(相当于Project),TestPlan下创建的ThreadsGroup(相当于TestCase), Jmeter一个TestPlan也是一个jmx(xml)文件,无法分割, jmeter测试计划是一系列配置器.线程组.控制器.取样器.断言.监听器.定时器.组成的集合. jmeter运行时会首先运行配置器,然后启动线程组,全部线程组中取样器的执行结果会在配置的监听器中出现. 虽然从界面上可以在测试计划节点上添加监听器.断言,但是绝大多数…
前面三篇文章分别讲述了 HTTP Mirror Server . Debug PostProcessor 和 Debug Samper 的脚本调试实例.此文主要讲述第四种调试方法,通过 BeanShell 脚本结合 jmeter.log 查看响应的变量等信息. BeanShell脚本访问变量主要通过 vars 和 props 去访问,常用主要方法如下: vars.get(变量名):获取定义变量对应的值,含BeanShell脚本生成变量: vars.put(变量名,变量值):生成新的变量或修改已存…
前面两篇文章分别讲述了 HTTP Mirror Server 和 Debug PostProcessor 的脚本调试实例.此文主要讲述第三种调试工具:DebugSampler,其主要是查看JMeter用户定义变量.JMeter属性变量,以及系统环境变量信息,在查看结果树对应调试器响应结果面板中查看信息. Debug Sampler添加路径:[添加 / Sampler / Debug Sampler],面板设置如下: 打开JMeter测试脚本,在样本线程之间添加调试器,最终样本结构如下所示: 执行…
前文 JMeter学习-034-JMeter调试工具之一---HTTP Mirror Server讲述了HTTP镜像服务器在调试请求入参时的实例应用.此文我们讲述另一种测试脚本调试工具的使用. 前置处理器或后置处理器中的 Debug Processor,也是常用的一个调试工具,其可以获取样本线程的相关信息进行展示,可通过查看结果树中的响应数据查看对应样本线程请求.响应及变量等信息.在查看的时候注意 Debug PostProcessor的查看作用域即可,在不用的位置,可查看的信息是不同,敬请参阅…
BeanShell脚本是JMeter自动化测试过程中不可或缺的提升技能之一,BeanShell脚本编写类似于Java脚本.它可以获取.修改系统定义或用户定义的变量值,同时也可以进行一些相应的测试数据处理工作(例如:前置处理器.后置处理器及响应断言中均存在响应的BeanShell应用),非常的方便. 下面就以修改上篇文章(JMeter学习-032-JMeter常见四种变量简介)中CSV Data Set Config 配置的参数化变量(def_cons)为例,来对BeanShell脚本应用做一简单…
http://www.jmeter.cf/loadtesting-jmeter.html 为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以同时用于功能和性能测试.Jmeter 有着众多的插件开发者, 支持多种的测试协议. 一 .Jmeter 使用入门教程(快速入门) 如果您熟悉英语, 可以选择阅读tutorialpoint的教程.  或浏览汉化中的[史上最完整Jmeter教程]. 您也可以继续浏览站长收集的如下资料.  1. Jmet…
此文为 JMeter 入门实战实例.我是 JMeter 初学菜鸟一个,因而此文适合 JMeter 初学者参阅.同时,因本人知识有限,若文中存在不足的地方,敬请大神不吝指正,非常感谢! 闲话少述,话归正题.本文将从 Chrome浏览器代理配置.JMeter HTTP代理服务器 配置.JMeter HTTP代理服务器获取HTTP请求.JMeter脚本创建.JMeter脚本运行 五个方面,分三大块对 JMeter 初级实战应用配以图文,进行详细步骤描述,真正的做到一步一步.从无到有. 一.WEB 浏览…
之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战 同时,我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请求,也可进行录制,只需要将手机连接的无线网络代理到本机(以 iPhone 为例,依次点击 [设置]/[无线局域网]/[连接网络信息,即网络右侧详细信息符号]/[HTTP代理]/手动],填写 服务器IP.端口 对应填写 JMeter 机器的 IP.JMeter HTTP 代理端口 即可),并将对应的端…
众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. 日常常见的线上监控几个简单的监控示例场景如下: 监控电商网站某个类目下的商品数量.若类目中商品的数量小于一定的数量,则认为需要认为查看商品池的商品是否正确: 监控商品的价格.当商品价格出现超出限定的波动幅度时,通知相应的商品负责人,对其进行确认,从而保证商品价格的正确无误. 监控商品在某一地域是否…
之前写过一篇通过[HTTP Cookie管理器]实现登录态操作的文章,使用时需要配置每个键值对(如下图所示),相对来讲配置比较繁琐.其实,我们也可通过在[HTTP信息头管理器]添加 Cookie 信息,从而实现登录态操作. 操作步骤如下: 1.获取 Cookie(通过浏览器等,如下 Firefox 浏览器所示),例如通过浏览器获取 Cookie 信息,保存到文本 cookie.txt 中…
首先,此文非技术类博文,为思路类的博文,敬请参阅,欢迎共同探讨! 今天在编写 JMeter 接口监控脚本时,遇到了一个问题,在解决问题的时候,思路出现了偏差,导致了自己在解决问题时,绕了弯,浪费了些时间.换句话说,是自己当时解决问题的思路出现了定式思维,没有及时变通,矬了 ^_^.具体的问题场景如下. 日常测试开发工作中,测试脚本对应的场景有很多,其中必不可少的场景就是重要的状态码验证.此时,不同的状态码对应着不同的页面显示,以及后续不同的业务逻辑处理操作,因而测试脚本需要对不同请求对应的请求响…
前面的博文中有对 JMeter 中的 响应断言 进行了讲解并实例演示,详情敬请参阅博文:JMeter学习-007-JMeter 断言实例之一 - 响应断言. 在 JMeter 中总计提供了如下几种 BeanShell 组件: Beanshell Sampler:单独的采样器. Beanshell PreProcessor:针对其他采样器的前置处理器.可以在采样器执行之前进行预处理操作,生成相关测试数据供采样器使用,相当于 TestNG 中的 before annotation. Beanshel…
前文讲述了通过 CSV Data Set Config 实现参数化配置(详情敬请参阅:JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置),在 JMeter 的配置元件中还有一个元件:用户定义的变量,通过 用户定义的变量,也可实现参数化的配置,通常用户定义的变量一般作为全局变量使用.下面就以 用户定义的变量 替换之前博文中的配置文件实现单一循环的参数化配置. 用户定义的变量添加路径:[ 添加 / 配置元件 / 用户定义的变量 ],其对应…
前文简述了 JMeter 如何通过 HTTP Cookie管理器,实现了在不执行登录操作的情况下,通过 Cookie 实现登录态的操作,具体请参阅:JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录. 我们在日常的自动化测试脚本编写过程中,通常会有需要进行判断的逻辑,从而根据判断条件的真假,控制是否进行相应的操作.JMeter 提供了一些逻辑控制器(例如:ForEach控制器.事务控制器.如果(If)控制器.循环控制器等),以供我们在自动化…
前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie 后,将 Cookie 保存到文本文件中,例如 userCookie.txt. 下面以购物App常用的收藏功能为例,讲述如何在 JMeter 中使用 cookie 进行登录态操作.具体的操作步骤如下所示: 第一步.录制查看收藏列表的 HTTP请求: 录制查看收藏列表的HTTP请求,只需启动 Fidd…
前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例.多参数获取,相应博文敬请参阅 简单实例.多参数获取. 此文主要讲述如何引用正则表达式提取器获取的数据信息.其实,正则表达式提取器获取的数据,均可看做一个变量(单个数据,此处指所需获取的测试相关数据)或数组(多个数据),通过引用变量或者数组的数据,达到应用其数据的目的.下面针对此两种方式进行介绍. 第一种:单数据变量 但数据变量的应用比较简单,同我们日常 shell 脚本引用变量相同,引用样式:${引用名称}.例如要引用下图中的…
前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). 此文主要对正则表达式提取器的 正则表达式.模板.匹配数字,三者的关系,做进一步的讲解. 截取商品列表响应结果数据中的一段商品数据如下所示: { "sysNo": "2142717", "skuid": "487626525247"…
上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应结果中的数据呢?此文以获取类目 手机数码-手机通讯-苹果 结果列表中的第一个商品的系统编号为例演示(脚本基于上篇文章,请知悉). 如下为请求响应数据中的部分数据,我们最终要获取的数据为 "sysNo": "2142717" 中的 2142717. { "sys…
记录关于JMeter学习的内容.方便复习. 1)JMeter运行环境 因为JMeter是用纯java写的.所以运行的时候需要java的运行环境. 去java官网下载,点免费下载或所有Java下载都行,一个是jie一个是jdk jre是java运行环境.安装不需要自己去配置环境变量啥. jdk是java开发环境.里面带有jre.需要配置环境变量. 2)安装JMeter Jmeter官网下载最新版本的zip包.然后直接解压出来就可以.在bin目录下找到Jmeter.bat文件.运行即可 中文显示 找…
性能测试—JMeter 常用元件(二) <零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完整的测试计划包含一个或多个线程组.逻辑控制器.采样器.监听器.定时器.断言和配置元件. 一.线程组 程组是任何测试计划的起点,所有的逻辑控制器和采样器都必须放在线程组之下.其他的测试元件(如监听器)可以被直接放在测试计划之下,这些测试元件 对所有线程组都生效.线程组就像它的名字所描述的那样,被用来管理执行性能…
通常进行性能测试时,我们一般仅考虑主要的数据返回,不考虑页面渲染所需要的数据(例如:css.js.图片等).但当我们需要衡量打开一个页面(页面渲染完成)的性能时,我们就需要考虑完成页面渲染所需要的图片.css.js等资源文件,因为这些数据的传输等也会消耗系统.网络等资源.因而测试页面的性能,尤其是含有大图片.大文件等,就必须要考虑这些资源的性能消耗. 下面就以文章详情,进行事务控制器使用的实例演示. 一.获取文章详情页面所需的所有请求信息 通过[HTTP代理服务器]可获取文章详情页面的请求信息集…
在使用 JMeter 进行性能测试时,难免遇到要求并发请求数比较的场景,此时单台测试机的配置(CPU.内存.带宽等)可能无法支持此性能测试场景.因而,此时 JMeter 提供的分布式测试功能就有了用武之地. 下面就以 JMeter 3.0 版本进行实例讲解,敬请参阅! 一.JMeter分布式执行原理 JMeter分布式执行原理如下图所示:…
最近刚开始接触Jmeter性能测试,现总结环境搭建如下: 一.windows安装JDK步骤与环境变量配置: 1.先将下载的JDK安装到其默认目录:C:\Program Files\Java\jdk1.8.0_05 2.右击“计算机-属性-高级系统设置-环境变量”,在系统变量中作如下的设置 1)点击“新建”按钮,出现新建系统变量对话框,在变量名中填上JAVA_HOME ,变量值:C:\Program Files\Java\jdk1.8.0_05 2)再新建一个环境变量CLASSPATH,变量值:.…
上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢.这一节创建一个简单的测试计划来使用这些元件.该计划对应的测试需求. 1)测试目标网站是fnng.cnblogs.com  和 tt-topia.rhcloud.com 2)测试目的是该网站在负载达到20 QPS 时的响应时间. QPS 解释 QPS:Query Per Second 每秒查询率.是一台查询服务器每秒能够处理的查询次数.在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量. 为了达成预期…
一.性能测试技能树 二.性能测试流程 三.性能测试相关术语 性能测试指标就是: 多(并发量)快(响应时间)好(稳定性[长时间运行])省(资源使用率).思考时间 1.负载 模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖 2.性能测试 模拟用户负载,系统在负载的情况下,查看响应时间.吞吐量及TPS是否满足性能要求 响应时间:客户感知的感应时间,是端到端的:响应时间的标准是2s(非常好).5s(可以接受).8s(上限) 并发用户数:性能测试要用多个jmeter 系统用户数:影响磁盘空…
我们在使用jmeter的时候有时候会碰到jmeter现有插件或功能也无法支持的场景,比如前端加密,此时我们就需要自己手动编写函数并导入了,下面就是手动修改并导入的过程. 首先我们需要下载jmeter源码压缩包下来,我这里下载的是apache-jmeter-4.0_src.zip,下载解压后,此时直接导入jmeter源码是不行的,我们需要修改两个文件,如下图,将eclipse去掉即可,变成.classpath和.project.(注意下,去cmd命令下修改,ren 旧文件名  新文件名) 我们默认…
最近测了一个导出功能,感觉应该学习下Jmeter,WEB系统的性能系统还是需要有一定累积. 选择Jmeter而不是LR,很简单的原因是QTP和LR不能装一台机器上. 也有很多测试人员推荐Jmeter,做日常的WEB性能测试是足够的. 1. Jmeter安装 安装之前需要安装JDK.安装完成后在bin目录下点jmeter.bat运行. 同时可以安装badboy,作为录制工具,导出jmx文件供jmeter使用. 2. Jmeter元件及其作用域与执行顺序 a. 测试计划 由测试计划发起,纵观整个测试…