性能工具之Taurus场景使用

发表于:2019-12-31 11:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:左泽位    来源:7DGroup

#
Taurus
  前言
  在上篇文章中,我们详细介绍了 Taurus 的常规和 docker 安装,这篇我们一起来看下如何入门使用 Taurus 结合 JMeter 做压测。
  性能工具之Taurus入门(安装篇)
  运行现有 JMeter 脚本
  Taurus 能够支持现有 JMeter(或 Grinder 或 Gatling 或 Selenium测试引擎的能力, 同时也能够支持直接解析原生脚本,如 JMeter JMX文件。其默认执行引擎是 JMeter,因此,如果已经使用 JMeter创建了 JMX 文件,那么使用 Taurus 可以很容易地运行,只需使用 bzt 命令以及 JMX 路径即可。
  我在这里简单使用示例脚本: build-web-test-plan.jmx
  执行命令:
 bzt example.jmxbzt build-web-test-plan.jmx -o modules.jmeter.version=5.2.1```
  将能够看到包含所有 Taurus 报告的全屏仪表板。该仪表板具有 ASCII 图,可显示有关测试的关键统计数据和各种指标。 
   测试后摘要报告如下所示:
  注意:这里我使用可以使用 -o 参数从命令行覆盖配置选项,因为默认配置的 JMeter 版本为 5.1 会报 404 无法下载的错误,因为镜像网站已经不存在了。
  报错信息如下:
  镜像地址:https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/
  上面我们演示了直接运行 JMX 文件,但对于 YAML,将 JMX 文件 传入 Taurus 也是一个相当简单的过程:
  编写 exist_jmx_conifg.yml:
  
  使用 YAML 创建 JMeter 脚本
  如果你不想使用 JMeter 创建脚本,还可以使用 Taurus 的简单配置语法将测试场景使用 YAML 或 JSON 来描述 JMeter 脚本,这就是我们想要的 test as code。
  例如,一个简单的测试,其中有 10 个并发用户,启动时间为 1 分钟,持续时间为 2.5 分钟,并使用 HTTP GET 请求访问 example.com 网站,看起来很简单:
  编写 example.yml 脚本:
   
 bzt example.yml
   按下 Enter 键后,Taurus 引擎将开始执行测试。
   这是 Taurus 测试执行的显示方式: 
   测试后摘要报告如下所示: 
  生成的过程文件如下:
  文件说明:
  bzt.log :Taurus 日志。包含 Taurus 的全部输出,对于故障排除非常有用;
  effective.json:最终的 Taurus JSON 格式的配置文件。它包含合并的输入文件,配置默认值,任何覆盖的属性等;
  effective.yml:与 effective.json 相同,但采用 YAML 格式。Taurus 不会在 YAML 和 JSON 之间进行区分,并且能够使用任何格式,因此任何一种都很好;
  errors.jtl:启用了所有诊断字段的 XML 格式的 JMete 结果文件。能够在“ 查看结果树”监听器中查看完整的请求和响应详细信息;
  example.yml:通过命令行提供给 Taurus 的 YAML 配置文件;
  jmeter-bzt.properties:任何 JMeter 属性覆盖;
  jmeter.log:一个非常默认的 JMeter 日志文件;
  kpi.jtl:主要结果文件,其名称代表关键绩效指标,其中包括:
  采样器时间戳,标签和持续时间
  响应消息和代码
  采样器是否成功
  连接和延迟指标
  活动线程号
  merged.json:Taurus 配置文件。它包含合并的,用户提供的配置文件(YAML或JSON),但未应用默认值或替代值;
  merged.yml:与上述相同,但采用 YAML 格式;
  modified_requests:与 requests.jmx 相同,并且通过 YAML 由 Taurus 驱动的更改;
  requests.jmx:将 YAML 配置文件转换为 JMeter.jmx 格式;
  system.properties:有效的 JVM 系统属性。
  如前所述,就 JMeter 而言,Taurus 提供以下报告:
  运行时的摘要控制台
  测试结束时的统计数据;
  2个.jtl 结果文件:
  CSV-适用于成功的采样器;
  XML-包含请求/响应的完整详细信息的失败采样器;
  因此, kpi.jtl 和 errors.jtl 用于结果分析,而其他用于调试目的。
  注意:
  内网环境下,可以将最新的 JMeter 版本(带有最新的插件)下载到 ?/.bzt/jmeter-taurus 文件夹(如果使用自定义插件,则还有一个选项可以指定现有的 JMeter 位置。
  小结
  Taurus 的全部思想-即提供一种统一的简化方式来配置和运行自动化测试,并以最有效的形式表示结果。
  整体上大概有下面几个步骤:
  根据提供的 example.yml 准备 JMeter.jmx 脚本;
  开始实际的 JMeter 压测;
  在文本控制台中显示实时统计信息和基本的 ASCII 图;
  测试完成后将摘要打印到控制台;
  将 JMeter 测试结果保存为开箱即用,且由 JMeterPlugins提供的JMeter 监听器可以理解的格式。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号