【无标题】

Jmeter用来给BS架构做性能测试。什么是BS架构?使用浏览器可以操作的软件。例如:百度搜索引擎,淘宝电商网站。

BS:浏览器端,服务端。

CS:客户端,服务端。

官网:https://jmeter.apache.org/

Jmeter的底层是Java。使用开源软件可以看到他的文档。

Jmeter组成:取样器,线程组,监视器。

取样器:进行脚本逻辑控制。HTTP请求。

线程组:场景设置

监视器:监控我们的脚本运行,取得性能指标。

【无标题】_第1张图片

线程数:100

Ramp-Up Period (in seconds): 1

表示:1秒内对100个用户进行访问。

勾选永远:表示不让Jmeter对其进行停止操作的控制。手动停止。

不勾选永远:填2。

表示:1秒内对100个虚拟用户进行并发访问,要循环两次,就是跑两次。

取样器:

【无标题】_第2张图片

监听器:监控我们的脚本运行的。

        最常用的是有以下两种:

  1. 察看结果树:辅助我们来进行脚本调试的,可以看到我们的被测系统什么东西失败。
  2. 聚合报告:访问多少次,访问时间,错误率,等等。

逻辑控制器:

【无标题】_第3张图片

粗略的划分是取样器,它是更精细的控制我们脚本的逻辑的。

逻辑控制器:如果(if)控制器: 如果条件为真,那就运行下面脚本;如果为假,那就不运行脚本。

配置元件:

【无标题】_第4张图片

定时器:做定时并发的时候我跑太快,或者一直跑一直跑,和真实用户访问不是太接近了。这时用到定时器。假设不是要非得完全模拟用户,就是想要看看性能测试的平稳,其实不加定时器也可以,压爆为止,就看到问题了。

前置处理器:在做Sampler之前,要做些什么;

后置处理器:在做Sampler之后,要做些什么。

断言:我在请求之后去判断我的请求结果里面哪些是我期望的,是不是返回结果跟我想象中的一样。

在做测试用例设计的时候,有期望结果和实际结果,测完了期望结果等不等于实际结果,用断言来进行控制。但是,在做性能测试时,不太提倡做多并发处理的时候,用Jmeter来进行断言,在使用的过程中,发现Jmeter的一些bug。多线程并发访问的时候,假设100个并发来访问这个请求,这个请求呢,又有一些我自己定义的变量什么的,定义变量的时候,由于访问速度快或慢,然后变量的声明,导致什么多个线程共用一个变量,这个时候断言有可能不准。

如果发生网络错误的时候,有可能断言全错了。所以,用Jmeter来做性能测试是ok的,但是不建议用他做断言来判断实际结果只和预期结果是否一致。

Jmeter脚本的两种录制方式:

一、使用badboy进行录制。能够进行浏览器的一些操作的录制,并且能够导出Jmeter脚本。

二、使用代理的方式进行录制。监听端口号。抓包工具。

脚本录制的流程与思路:

是做开发或者一个脚本的时候,假设我们不了解业务,那一切都是瞎的。

性能测试基于自己能够吃透这个业务,了解到用户在我们的应用系统中做什么,最喜欢的操作是什么,他们一般怎么操作我们的应用系统,这些东西都很重要,也有助于后期做性能分析的排查。

我们怎么样能够把用户在我们操作系统之上进行的这些行为全部都给录制下来。

基于工具的基础上,能够把它真正的吃透,能够灵活的使用这套工具,就是能够应用它的一些组件,完全模拟用户的使用行为。

脚本制作要进行整个模拟用户在我们应用程序上的这些操作。

前面脚本做完了,我们才能够对被测系统实行加压,然后观测我们系统的一些反应,这样才能做好性能测试。这是整个一脚本录制的流程和思路。

业务流程:录制工具:脚本制作:性能测试。

Badboy介绍与演示:

【无标题】_第5张图片

工具区: 菜单中的工具栏。

地址栏:要输入我们被测系统的地址。url地址。

脚本区:录制以后生成脚本的区域。

试图区:录制完怎么操作得能看到。

下载BadBoy

【无标题】_第6张图片

【无标题】_第7张图片

2-2 使用badboy进行jmeter脚本录制

实践:【无标题】_第8张图片【无标题】_第9张图片

【无标题】_第10张图片

【无标题】_第11张图片

【无标题】_第12张图片

【无标题】_第13张图片

【无标题】_第14张图片【无标题】_第15张图片

关联:

   当上文有一些变量的值在下文中被使用

Loadrunner与jmeter关联的不同之处

  1. 在loadrunner中关联函数是写在要获取变量值的页面的前面

在jmeter中关联函数是要写在要获取变量值的页面的后面

  1. 在loadrunner中关联函数是注册函数:

在jmeter中我们只用正则表达式提取器来进行关联

(*?)

  

你可能感兴趣的:(Jmeter录制,Jmeter,测试工具)