| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> JMeter -> 正文阅读 |
|
[开发测试]JMeter |
简介此处先给出Jmeter的官网地址和官网使用文档。官网提供了两种下载版本—— Jmeter是apache的纯Java开源项目,目前主要用来 “加载测试的行为(自认是指,录制脚本之意)” 和 “进行性能测试”。它可以用来测试静态和动态资源(static and dynamic resources)和Web工程(Web dynamic applications)。其最初是用来测试Web工程(Web dynamic applications),但现在已经被拓展到了很多其他测试领域,比如①模拟 一个服务器、一组服务器、一个网络或着一个对象在较大负载下的承受能力 ②分析 其(指 一个服务器、一组服务器、一个网络或着一个对象)在不同负载类型下的总体性能。 其优势有四:
Jmeter的安装Jmeter的安装按照官方说明文档中的1.3部分进行即可。 环境配置因为Jmeter是纯Java项目,所以使用Jmeter前,需要安装指定版本以上的JDK。官网使用指南中提到,从下载的版本Jmeter5.4.1需要至少JDK 1.8以上的版本(网上说 Jmeter 5以上版本 需要配套 JDK1.8以上)。 Jmeter的安装去官网下载合适版本的Jmeter,安装/解压后即可。请注意,官方文档中提到的,Jmeter的安装路径不可出现空格,原文如后所示 官网文档中提到了解压后的文件目录,根节点“apache-jmeter-X.Y”代表Jmeter的根目录(即我们解压下载的压缩包后,最外层的文件夹)。一个完整的Jmeter,其根目录下应包含bin、docs、extras、licenses、printable_docs、lib及其下的ext、junit文件夹,如下图所示。根节点“apache-jmeter-X.Y”可以重命名,但其下的bin等文件夹名称不可修改。 bin目录中的内容bin目录中主要包含启动项和一些你可能会用到的额外 脚本(script),官网原话:There are some additional scripts in the bin directory that you may find useful. Windows script files (the .CMD files require Win2K or later)。下面给出官网对bin目录中的一些常用文件的介绍,首先是bin目录下的三个Windows批处理文件:
Jmeter开发时可能需要安装的其余软件
JMeter HTTP采样器配置为接受所有证书,无论是否可信,也不管有效期等。这是为了在测试服务器时提供最大的灵活性。 如果服务器需要客户端证书,则可以提供该证书。 还有SSL管理器,用于更好地控制证书。 JMeter代理服务器(见下文)支持记录HTTPS(SSL) SMTP采样器可以选择使用本地信任存储或信任所有证书。 Jmeter的各大组件右键测试计划,选择“Add”,可以向测试计划中添加个组件。 Test Plan其他所有组件的容器,所有组件均需放置到测试计划中才能工作,其内容详情如下所示。可通过第二个红框中的Browse(浏览)按钮来将jar包导入Jmeter。 Thread Group在Jmeter中使用线程,是在测试方案中创建Thread Group,然后再在Thread Group中创建各个线程,用来模拟用户。在Thread Group详情页设置创建线程的数量、总时间、循环次数,用于模拟用户的并发,比如200个用户就创建200个线程。如何在线程组中实现“仅可创建一个”的效果,补入本文 多个线程同时开始运行or一个结束下一个再运行在测试方案的设置界面进行设置,点击“测试方案”,右侧设置页面红框位置。勾选后,会一个一个运行线程组(此种设计适用于有前置关系的线程间使用);取消勾选会同时并发运行测试方案中设置的多个线程组。 测试方案中暂时不用此线程组时,点禁用,不必删除右键该线程组,点击禁用“Disable”即可,下次运行便不会运行此线程组。 取样器Sampler【(JMeter中唯一真正)向服务器发送请求】,并等待服务器的响应,被誉为“真正干活的”。 取样器必须在线程组下创建,通过右键线程组来进行创建,不能创建在Test Plan下。 逻辑控制器Logic Controller控制sampler发送请求的逻辑顺序,或控制sampler本身,来模拟复杂请求。 配置元件config element仅对所在分支树有效。 各组件的作用域靠测试计划的树形结构中元件间的父子关系确定。
Jmeter的使用Jmeter的启动(从官方文档1.4开始补入,通过新建一个启动项setenv.bat来绕过配置环境变量)通过bin目录下的jmeter.bat (for Windows,即Windows批处理文件) or jmeter (for Unix) file,可以以 图形模式(GUI mode )启动Jmeter。官方文档要求,GUI mode应当只用于创建测试脚本,CLI mode (NON GUI) 必须被用来负载测试。 双击jmeter.bat启动时,会先打开命令提示行,提醒不要使用GUI mode来执行负载测试方案,GUI仅限于测试方案的创建和调试,如下图所示。随后,启动Jmeter的图形界面。 配置
创建线程组用线程组来模拟用户,右键测试方案(test-plan),依次选择“Add”——“Thread”——“Thread Group”,如下图所示。 设置集合点(同步定时器 Synchronizing Timer)右键“线程组”,依次选择Add——timer——Synchronizing Timer进行创建,并且要注意集合点放在被测业务请求之前。补入这篇博客。注意,集合点放在被测业务请求之前,待自己确认。 打印线程号(使用 函数助手(Function Helper)中的功能)点击功能栏的对应按钮,如下图所示。 Jmeter的设置切换Jmeter的语言如下图所示的方法,仅能临时设置,即关闭Jmeter后再次启动又变回英文。 设置Jmeter可使用的内存用于解决启动Jmeter时提示 使用用途性能测试进行性能测试,并生成测试报告,详见这篇博客。 补入本文:“通常进行性能测试时,我们一般只考虑主要的数据返回,不考虑页面渲染所需要的数据(例如:css、js、图片等)。但当我们需要衡量打开一个页面(页面渲染完成)的性能时,我们就需要考虑完成页面渲染所需要的图片、css、js等资源文件,因为这些数据的传输等也会消耗系统、网络等资源。因而测试页面的性能,尤其是含有大图片、大文件等,就必须要考虑这些资源的性能消耗。比如我们要测试用户登录模块的性能,以前我们只需要考虑用户名与用户密码到数据库进行校验的过程 。而真实情况要考虑CSS,JS全部的,就可以通过事务控制器元件将所有的请求作为一个事务来看待”。其次,关于测试的事例 和 “从性能测试结果发现问题(文章结尾)”也一并补入。 录制脚本${username} |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:43:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |