网络培训

Jmeter工具培训课件《一》

LensNews

一、Jmeter工具介绍
简单介绍下Jmeter的作用、优缺点等内容

二、Jmeter工具安装
1、工具下载:直接下载和wget下载,下载后解压即可:tar -xzvf xxx.tar
2、环境变量配置:windows、linux和mac系统以及JDK
3、文件目录介绍
bin目录文件
jmeter.bat : Windows的启动文件
jmeter.log :日志文件
jmeter.sh :linux的启动文件
jmeter.properties:系统配置文件
jmeter-server.bat :Windows分布式测试要用到的服务器配置
jmeter-serve:linux分布式测试要用到的服务器配置
docs:接口文档目录docs\api\index.html
extras:扩展插件目录
lib:所用到的插件目录,里面全是jar包,jmeter会自动在jmeter_home/lib和ext目录下寻找需要的类
printable_docs:用户使用手册
4、Jmeter启动
jmeter.bat : Windows的启动文件
meter.sh :linux或mac系统的启动文件

三、Jmeter组件介绍
1、线程组:一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户,其中,Ramp-Up Period参数告诉JMeter达到最大线程数需要多长时间。假定共有10个线程,Ramp-Up Period为100秒,那么JMeter就会在100秒内启动所有线程,并让它们运转。每一个测试线程都会在上一个线程启动10秒之后才开始运行。
2、配置元件:
HTTP信息头管理器:使用HTTP信息头管理,可以帮助测试人员设定JMeter发送的HTTP请求头所包含的信息。HTTP信息头中包含有”User-Agent"、“Pragma"、”Referer"等属性
HTTP请求默认值:测试中有些http请求会使用到一样的数据,如服务器ip、协议等,可以把这些统一设置在此配置元件中,在其作用域下的http请求,默认使用这些设置
HTTP cookie管理器:cookie管理器主要用来对cookie进行操作。要发送的HTTP请求中如果有cookie,一般是需要添加此配置元件的
csv Data Set config:当需要导入外部的.csv、.txt、.dat数据时,可以使用此配置元件进行一些基本的设置
3、控制器:JMeter有两种类型的控制器:取样器和逻辑控制器,二者结合起来驱动了测试进程。取样器被JMeter用来向服务器发送请求。例如,当测试人员想往服务器发送一个HTTP请求时,就加入一个HTTP请求取样器。测试人员还可以通过为取样器添加配置元件来定制化请求。用户可以使用逻辑控制器来控制JMeter的测试逻辑,特别是何时发送请求,逻辑控制器可以改变其子测试元件的请求执行顺序。
4、定时器:定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的手段。类似于LoadRunner里面的“思考时间”
5、前置处理器:前置处理器会在采样器发出请求之前做一些特殊操作。如果前置处理器附着在某个采样器之下,那么它只会在该采样器运行之前执行,前置处理器通常用于在采样器发出请求前修改采样器的某些设置,或者更新某些变量的值
6、后置处理器:后置处理器会在采样器发出请求之后做一些特殊操作。如果后置处理器附着在某个采样器之下,那么它只会在该采样器运行之后执行。后置处理器通常被用来处理服务器的响应数据,特别是服务器响应中提取数据
7、断言:用户可以使用断言来检查从服务器获得的响应内容。通过断言可以测试服务器返回的响应与测试人员的期望是否相符。
8、监听器:监听器提供了对JMeter在测试期间收集到的信息的访问方法。"图形结果"监听器会将系统响应时长绘制在一张图片之中。"查看结果树"监听器会展示采样器请求和响应的细节,还能以HTML和XML格式展示系统响应的基础部分
综上这个组建的执行顺序:配置元件、前置处理器、定时器、采样器、后置处理器、断言、监听器

四、jmeter脚本录制
Jmeter有类似于Charles或fiddler这样抓包工具的录制功能,可以很方面的录制脚本,一个中等的APP,录制完10分钟就可以搞定,从而很快的提高了测试工作的效率,这里我就介绍一下怎么用jmeter进行录制。
1、添加线程组,根据个人喜好可对线程组命名,也可不命名。
2、在线程组下添加HTTP请求默认值,并设置服务器IP和端口号
3、添加HTTP代理服务器,并设置端口号,选择目标控制器(选中前面的线程组)
4、点击HTTP代理服务器的启动按钮,启动后可以通过JMeter右上角的log查看按钮查看启动情况
5、打开手机WIFi,设置代理到这台电脑上
6、查看JMeter的录制情况,可以看到录制的内容特别多,通过HTTP代理服务器的排除模式,排除一些不需要的请求信息,也可以手工删除一些不必要的请求
7、调试录制的脚本,在线程组下面添加察看结果树和聚合报告查看回放的情况

五、jmeter接口测试流程
1、使用jmeter工具来完成对HTTP接口的测试,则需要对http协议了解和理解。
2、需要分析出测试需求,拿到开发提供的接口说明(查看swagger中的接口说明)
3、准备好测试案例中的入参数据和出参数据,进行接口测试案例的自动化脚本
总体流程:添加线程组->添加HTTP信息头管理器->添加HTTP请求[请求参数设置、数据参数化]->添加响应断言->添加监听器

六、正则表达式
1、为什么要学习正则表达式
正则表达式在我们处理数据提取以及字符串处理的时候非常常见,因此我们必须要掌握正则表达式
2、正则表达式的简单应用
^以什么开头,. 代表以任意字符,* 代表前面的字符可以重复任意多次,$ 表示以什么结尾
如^a.*3$,表示必须以a开头,以3结尾,中间为任意多个的任意字符
? 表示非贪婪匹配,因为正则是反向匹配的,是从右至左,加上?后,从左边开始匹配
() 表示只提取子字符串
如字符串:abbbbbbaaa123, 提取其中标红部份字符,那么就应该这么写:.*?(a.*?a).*
+ 表示出现至少一次,.*(a.+b).* 可以提取aaab
{2}{2,}{2,5} 表示限定词,表示出现的次数,分别分2次,2次以上以及2次到5次之间
| 竖线表示或的关系,如:true|false,只要匹配竖线两边的字符串的任何一个都可以
[]中括号表示只要满足中括号里其中任何一个字符就可以,如whf123,表示[qwer]hf123就可以匹配
[0-9]之间任何的一个字符,如手机号码中:(^1[48357][0-9]{9})表示以1开头,第二位是48357中的任何一个数字,后面9位位0到9的任意字符并出现9次
\s 表示字符之间有空格 \S 表示字符之间没有空格,都代表一个字符
\w表示任意字符,等价于[A-Za-z0-9_] \W表示与\w相反的字符
[\u4E00-\u9FA5]{1,4} 表示汉字 \d 表示数字,可以用来提取字符串中的数字信息,也是很常用的

(4)

本文由 小蜜蜂信息网 作者:admin 发表,转载请注明来源!

关键词:,
LensNews

热评文章

发表评论