Jmeter的Mac配置和使用
- 技术
- 2024-04-14
- 415热度
- 0评论
Mac上jmeter的安装
作为一个程序员,优雅的使用包管理器是必要的,不会还有人没有用homebrew吧,不会吧不会吧,homebrew的下载这里就不说了,直接框框敲下面的命令:
brew install jmeter
当然我们知道,jmeter是完全基于java开发的,所以jmeter依赖于java,不过不要担心,brew会自动管理依赖,我们用
brew deps --installed --tree
可以列出树状依赖:
看似很多实际上,嗯,就依赖jdk()
安装好后brew会将环境软连接到bin目录下,所以这时候直接jmeter就可以打开GUI界面若:
jmeter入门
jmeter主要元件
1、测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器
2、线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
3、配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。
4、前置处理器:负责在请求之前工作,常用来修改请求的设置
5、定时器:负责定义请求之间的延迟间隔。
6、取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。
7、后置处理器:负责在请求之后工作,常用获取返回的值。
8、断言:用来判断请求响应的结果是否如用户所期望的。
9、监听器:负责收集测试结果,同时确定结果显示的方式。
10、逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
jmeter元件和作用域
1.元件作用域
配置元件:影响其作用范围内的所有元件。
前置处理器:在其作用范围内的每一个sampler元件之前执行。
定时器:在其作用范围内的每一个sampler有效
后置处理器:在其作用范围内的每一个sampler元件之后执行。
断言:在其作用范围内的对每一个sampler元件执行后的结果进行校验。
监听器:在其作用范围内对每一个sampler元件的信息收集并呈现。
总结:从各个元件的层次结构判断每个元件的作用域。
2.元件执行顺序:
配置元件->前置处理器->定时器->取样器->后置处理程序->断言->监听器
注意事项:
1.前置处理器、后置处理器和断言等组件只能对取样器起作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。
2.如果在同一作用域内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行。
接口测试
那我们应该怎么实现一个接口测试呢
要实现一个接口测试,首先需要创建一个新的测试计划。在测试计划中,设置基本的配置和参数,包括测试的名称、并发用户数、循环次数等。接着,添加一个线程组,用来模拟用户并发访问接口的行为。在线程组中,可以设置用户的数量、启动延迟等。
接下来,需要添加一个HTTP Cookie管理器,以确保在测试过程中能够正确地处理Cookie。然后,配置Http请求默认值,包括服务器地址、端口号、协议等信息,这样在后续的HTTP请求中就不需要重复输入这些信息。
接着,添加Sampler(HTTP请求),在这里可以设置具体的接口请求,包括请求类型(GET、POST等)、路径、参数等。在请求中可能还需要添加头部信息、身份验证等。
为了验证接口的响应是否符合预期,可以添加断言。断言可以检查响应的内容、响应码等,确保接口返回的数据是正确的。
最后,添加监听器来查看测试结果。常用的监听器包括查看结果树、图形结果和聚合报告等。这些监听器可以帮助分析接口的性能和可靠性,检查是否存在错误和异常。
1.测试计划
首先,添加一个测试计划,我们就将其命名为Interface test
2.线程组
在测试计划下面,需要创建一个线程组,相当于定义了一个用户,所有的执行都是基于线程组的
这里的三个值:
Numbers of Threads: 代表用户个数,或者说线程数,并发数
Ramp-up period: 代表唤起时间,在k秒内唤起n个用户
Loop Count: 执行多少轮
3.Sampler(HTTP请求)
在线程组下面添加HTTP Request,填写域名或者ip,端口好,请求类型,请求路径,如果需要的话还可以在下面添加参数
这里我们使用高德的天气api作为测试
4.断言
和其他所有测试框架一样,jmeter可以使用断言作为判断
jmeter针对http Request有一列模版断言,比如可以断言Response code等
或者如果返回的结果是一个json文件,也可以使用JSON断言器
这里的json断言中path中$用来指代整个json字符串,用.可以解析字典
5.监听器(查看结果树、图形结果、聚合报告等)
监听器可以创建在任意路径下,会监听整个作用域里面的所有sampler结果
这样就实现了最简单的接口测试,当然如果接口包括cookie或者认证的话jmeter也是有相应的管理器
剩下的步伐就靠小伙伴们自己探索啦