一、测试工具基本介绍
1、为什么使用测试工具
(1)我们想让用户去联系请求某一个接口100次
(2)我们现在要求100个用户同时去请求一个接口
(3)在实际的测试当中往往会遇到连续的测试操作
(4)在实际的测试当中有很多操作是我们通过手工或者简单的插件是没有办法很好实现的,因此我们就可以考虑去使用功能强大的测试工具
2、Jmeter基本定义:它就是一款由apache开发和维护的一款开源软件[由java遍写而成]
3、Jmeter可以做什么
(1)接口测试
(2)性能测试
(3)java测试
(4)数据库测试
4、jmeter的优点和缺点
(1)优点
因为他是开源的软件所以最大好处可能就是免费
因为是开源的所以我们可以直接在网上下载到相应的源代码,如果说后期使用过程中我们发现自己特别需要某一个功能而jmeter本身又没有,此时我们就可以自行扩展
相对于其他的商业测试软件来说,在实现相同功能的前提下它占用的体积更小
(2)缺点
jmeter没有办法实现ip欺骗
jmeter测试时没有界面的0我们都是通过接口测试数据来完成结果
二、jmeter运行环境配置
因为jmeter是有java编写而成的一款软件所以运行它的机器上都不必须具备相应的执行环境
1、相关名词和概念介绍
jdk:它是一个java开发的工具包,一般用于程序具体的开发,在它里面包含jre和jvm
jre:相对于jdk来说他是一个运行相关java软件的环境,它里面包含了jvm
jvm:它是java的虚拟机。它的主要功能就是可以可帮助我们实现java软件跨平台
总结:jdk与jre相比较来说他一般是用于生产环境而jre就是用来运行已经生产好的软件
如果说我们想要在某个机器上运行相应的jmeter软件那么就可以直接安装好对应的jdk环境
三、线程组基本介绍
1、定义:我们可以将线程组理解为是实际当中我们需要发送请求的用户
2、默认线程组分类:在jmeter当中原生存在三类线程组
(1)Setup thread group :在某个请求具体执行之前需要完成的事情。
(2)Teraddown thread group在某个请求具体请行之后需要完成的事情。
(3)线程组:它就是普通用户,使用频率是最高的。
3、线程组相关属性
(1)在取样器错误之后执行的操作
继续:忽略当前错误然后直接继续运行
start next thread loop:忽略当前的错误然后重头开始继续执行
停止线程:在当前有错的线程停掉,然后其他的线程继续执行
停止测试:在当前错误执行完毕之后将测试计划停止
stop test now:立即停止所有的测试操作
(2)线程数:设置一个具体的数值 就表示当前准备多少个用户
(3)准备时长:单位是s表示当前的所有线程会在多少秒之后准备执行
(4)循环的次数:设置一个具体的数值 表示当前请求会被执行多少次
(5)调度器:可以通过设置具体的时间来对该测试计划进行可控的时间管理操作
四、测试片段
1、测试片段和线程组属于同一级别
2、测试片段里面存放的内容默认是不会执行的,一般是在需要的时候通过其他的元件让他能够执行
五、jmeter元件基本介绍
1、元件的分类
元件:我们可以将jmeter中实现某一些相同效果的组件集合称之为元件。
(1)逻辑控制器:可以分为两类;其中一类就是用来对当前的具体操作进行分类。另外的一类就可以用来对具体的操作执行进行相应的控制
(2)配置元件:这个元件一般是用来为具体的操作提供数据支持
(3)定时器:它可以帮我们控制当前操作的时间
(4)前置处理器:某一个请求真正发出之前有可能需要完成其他的操作,此时我们可以通过这个元件来实现
(5)取样器:它就是jmeter当中真正去执行的元件
(6)后置处理器:当某个请求完成之后如果想要做一些相应的操作就可以基于此元件来实现
(7)断言:我们可以基于预期的结果对当前请求的实现返回结果进行相应的是判断
六、jmeter元件作用域
1、作用域:在jmeter当中我们可以将作用域理解为是元件起作用的范围
2、在jmeter当中存在八个元件,我们可以将他们分为三类:
(1)逻辑控制器:它对它下面的子元素有绝对的控制器
(2)取样器:因为该元件最终都是需要被执行的,所以它放在哪里无所谓
(3)另外六个:如果某个元件的父亲是一个取样器,那么该元件就对当前取样器起作用,如果这个元件的父亲不是取样器那么该元件就对当前父亲下面的所有子元件起作用
七、jmeter元件执行顺序
默认情况下如果八个元件都存在那么他们的执行顺序就是:逻辑控制器——配置元件——前置处理器——取样器——后置处理器——断言——监听器
八、jmeter录制脚本
1、脚本:对于jmeter来说我们可以将后缀名为jmx的文件称之为脚本
2、录制:所谓的录制就可以理解为将原来手动添加的一些操作通过其他的形式保存为jmx的过程
3、jmeter如何实现录制
(1)在jmeter的工作台当中添加一个HTTP代理服务器,然后将它属性当中“目标控制器”设置正确[在测试计划中添加一个线程组,然后勾选即可],完成之后需要将当前服务启动才会生效
(2)建议大家选择IE浏览器,此时我们需要在internet选项中设置相应的代理服务器配置
(3)上述操作完成之后就额可以在浏览器进行相应的手工操作,然后这些操作就会被jmeter保存起来,方便我们后去的测试