做网站的尺寸1920,wordpress 视频图片网站,饮料代理一年能挣80万,上海缘震网络科技有限公司Apache JMeter 应该是应用最广泛的性能测试工具。怎么用 JMeter 编写性能测试脚本#xff1f;
1. 编写 HTTP 性能测试脚本
STEP 1. 添加 HTTP 请求 img
STEP 2. 了解配置信息
HTTP 请求各项信息说明#xff08;以 JMeter 5.1 为例#xff09;。
如下图所示#xff1a;…Apache JMeter 应该是应用最广泛的性能测试工具。怎么用 JMeter 编写性能测试脚本
1. 编写 HTTP 性能测试脚本
STEP 1. 添加 HTTP 请求 img
STEP 2. 了解配置信息
HTTP 请求各项信息说明以 JMeter 5.1 为例。
如下图所示 Web服务器指定协议、HTTP 请求的主机地址和端口号不需要加上“http://”JMeter 会自动加上一般的 Web 服务端口号默认是 80如果你访问的地址中带有其他端口号在此填入协议根据目标地址实际情况填入 http 或 https。客户端实现实现里面有 HttpClient4 和 Java 两个选项。HTTPClient4 可以看成是一个没有界面的浏览器可以通过它高效的访问Http协议的资源Java 选项是使用 JDK 提供的 net 包中的工具类来访问。方法下拉列表中有 8 个选项我们常用的是 POST 和 GET。GET 是提交请求时将参数连接在浏览器地址栏且长度有限制1 MB 以内POST 提交请求没有长度限制用户一般也看不到提交的内容相对来说安全些其他相关选项请大家自行参考 HTTP 协议。路径除去主机地址部分的访问链接。内容编码字符编码格式默认是 iso8859一般写成 UTF-8 即可当然也可以和开发人员确认。自动重定向自动重定向可以自动转向到最终目标页面但 JMeter 是不记录重定向过程内容的勾选了这一项后【跟随重定向】则会失效且无法做关联。跟随重定向HTTP 请求的默认选项当响应 code 是 3xx 时自动跳转到目标地址。与自动重定向不同JMeter 会记录重定向过程中的所有请求响应在查看结果树中可以看到服务器返回的内容选了这个可以对响应内容做关联。使用 KeepAliveHTTP 请求的默认选项对应 HTTP 响应投中的 Connection:keep-Alive。对 POST 使用multipart/form-data这个属性是和方法 POST 绑定的一般文件上传时会用到它。与浏览器兼容的头浏览器兼容模式若选了【对 POST 使用 multipart/form-data】建议也勾选此项。同请求一起发送参数填要发送的参数和值的区域参数项是以 key 和 value 形式填写消息体数据是以JSON 格式填写文件上传项需要填写文件名称、参数名称和 MIME 类型如果你不知道 MIME 类型可咨询开发人员或使用抓包工具查看。
填好以上这些选项后HTTP 单接口就准备的差不多了这里给 GET、POST、文件上传三个示例图供参考。
GET 请求 参数 POST 请求 消息体数据 POST 请求 文件上传 STEP 3. 响应断言
脚本制作原则里有说到每个请求必须要有响应断言是因为若对接口返回不做判断的话我们无法判断请求的有效性从而无法评估出性能测试的真实性故每个请求必须要有响应断言。接下里我们看看响应断言。
断言是通过获取服务器响应数据再根据断言规则去匹配这些响应数据若匹配到了是正常现象不会进行任何提示若匹配不到JMeter 则会断定这个请求失败在后面调试脚本中我们会看到查看结果树中的请求名称是红色字体。断言组件有很多我这里讲到的响应断言基本能满足 80% 以上的断言需求。
首先我们增加断言在请求名称上右键-添加-断言-响应断言 再说说响应断言中一些参数的意义 名称和注释可以随意设置最后有业务意义。Apply to应用范围有 4 个选项 Main sample and sub-samples匹配范围包括当前父取样器并覆盖子取样器Main sample only匹配范围是当前父取样器Sub-sample only仅匹配子取样器JMeter Variable支持JMeter变量值进行匹配测试字段对响应数据的不同部分进行匹配有 7 个选项。 响应文本返回的文本内容
STEP 4. 调试脚本
写好脚本后接下来是调试脚本JMeter 一般是结合察看结果树来调试脚本可以从察看结果树元件中看到服务器的返回信息。察看结果树会显示取样器的每一次请求若是有大量的请求在压测时建议关闭否则会比较消耗压测机资源。
察看结果树这元件一般只用来调试脚本这里也大概科普下察看结果树各项参数用途。 名称自定义内容默认为察看结果树可为空。注释默认为空可以为空自定义内容。所有数据写入一个文件可以将结果保存这里是一个路劲地址。Text 下拉列表显示请求内容的形式列表这个下拉列表里有 Text、Xpath Tester、JSON 等。取样器结果显示取样器结果这里的信息和浏览器上展示的内容差不多。请求展现请求表单内容不同的取样器有不同显示格式。响应数据显示服务器响应数据分为 Response Body 和 Response headers提供了查询功能也可以区分大小写查询和正则表达式查询。
2. 编写 Dubbo 性能测试脚本
STEP 1. 将我们自己实现的请求 Dubbo 的服务打成 jar 包放到 JMeter/lib/ext 目录下。
STEP 2. 打开 JMeter添加线程组在线程组中添加 Java 请求。 STEP 3. 在 Java 请求中类名称中选择自己上传的类在参数栏填入相关参数内容。 STEP 4. 对 Java 请求增加相应断言以及通过察看结果树调试脚本和 HTTP 脚本一致不再赘述。
3. 编写性能测试脚本的参考规范
代码有编码规范写脚本也有规范比较推荐的规范是
脚本中只能有一个测试计划。JMeter 脚本在客户端界面中展示的树型结构测试计划是根节点根节点只能是一个。测试计划中至少有一个线程组。JMeter 执行压测都是从线程组发起的所以测试计划中至少要有一个线程组另外 JMeter 支持多个线程组。至少要有一个取样器。脚本中若无取样器则是一个空脚本无法模拟用户请求无任何执行意义。每个取样器必须有断言。无断言则无法判断请求是否成功更无法判断压测有效性。至少要有一个监听器。非命令行执行脚本时需要查看执行结果则会需要有聚合报告等监听器若使用命令行执行脚本时则可生成结果文件。监听器是用来展示执行结果而执行结果则是用来分析系统性能的。非调试时禁用察看结果树。察看结果树一般是用来调试脚本的但压测时使用的话大量的请求返回数据会消耗压测机资源可能导致压力机性能下降。减少使用不必要的插件。JMeter 插件是很丰富但使用不当会影响 JMeter 本身性能从而导致压力机自身成为压测瓶颈比如使用监控插件大量的服务器资源采集会影响压测机的磁盘 IO 及消耗压测机其他资源。
遵循这些规则可以让我们养成良好的习惯避免不必要的错误。
总结
本文简单介绍了编写 HTTP 和 Dubbo 性能测试脚本的步骤并且给出了性能测试脚本的参考规范希望对大家有帮助。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你