jmeter简介
jmeter是一款开源桌面应用软件,可用来模拟用户负载来完成性能测试工作
jmeter体系结构
首先收一下什么是元件,什么是组件
元件:如果不做特殊说明,后面出现的元件代表jmeter工具菜单中的一个子菜单,比如:HTTP请求
组件:一组元件的集合
取样器
取样器,用来模拟用户操作,向服务器发出HTTP请求、webserver请求或者Java请求等。可以把http请求元件看成是一个没有界面的浏览器,它可以发送http请求,接收服务器的响应数据
断言
断言,用来验证结果是否正确,可以帮助我们来判断请求是否成功且返回符合预期。
监听器
监听器,jmeter的测试结果需要添加监听器来收集,jmeter结果收集程序的设计模式就是监听器模式。jmeter监听器有两个任务:
- 添加结果监听,并且可以保存测试结果到文件,这些结果数据可以供再次分析使用
- 展示结果,jmeter可以以表格及图形的形式展现结果,方便测试人员分析测试结果。
取样器、断言、监听器 组合在一起就可以帮我们完成发送请求、验证结果及记录结果三项工作
前置处理器
前置处理器,在测试脚本开发过程中,我们在请求发送前可能会做一些环境或者参数的准备工作,那么就需要在前置处理器中来完成这些工作。比如,操作数据库之前要先建立一个数据库连接。
配置元件
性能测试中为了模拟大量用户操作我们往往需要做参数化,jmeter的参数化可以通过配置元件来完成
后置处理器
后置处理器,一般放在取样器之后,用来处理服务器的返回结果。比如通过正则表达式元件来获取服务器返回的sessionID,验证用户信息。它是专门用来对响应数据做处理的元件。
前置处理器、配置元件、后置处理器 都是为取样器提供数据支持的,取样器关注的是业务逻辑。
逻辑控制器
逻辑控制器,主要是控制次数,比如我们在收邮件时,只需要登录一次邮箱即可查看多封邮件,这时候就可以用“仅一次控制器”元件即可完成。
定时器
比如:为了足够真实的模拟用户负载,我们有时会需要模拟这些请求在同一时刻发送,这时候就需要定时器来完成这个需求。
线程组
性能测试需要模拟大量用户负载的情况,线程组就是用来完成这个工作的。可以设置运行的线程数(一线程一用户)、运行时长(s)、循环次数等。