使用Gatling进行性能测试(二)recorder详解&使用recorder录制第一个测试脚本

引言

本节主要讲述Gatling recorder(录制器)两种录制模式,以及如何录制脚本供之后使用。

Recorder概述

运行recorder.scala这个类,会启动recorder的UI界面,以前用过其他性能测试工具的人可能知道recorder的用处,但第一次学性能测试工具的小伙伴可能就不太知道了(比如我)。顾名思义,recorder就是用来录制的,录制什么呢?录制性能测试脚本,性能测试场景就是模拟用户场景使用被测系统,全面的性能测试不只是测单接口,而是多个用户场景,涉及多个接口请求。其实也可以自己纯手工编写脚本,但工具自身的recorder可以在你操作系统的时候录制,然后转换成工具所需的脚本,然后你再根据脚本优化即可。
Gatling recorder的UI分成5个部分,如下图所示:在这里插入图片描述

  1. Recorder Mode
    分为两种模式,一种是HTTP代理,一种是HAR Converter,下面会详细介绍这两种模式的工作方式。
  2. NetWork/Http Archive Import
    途中的第2部分,根据Recorder Mode不同有所不同,是对不同Recorder Mode的配置信息。
  3. Simulation Information
    就是对即将生成的脚本的一些配置。
    (1)package:生成脚本所在的包
    (2)Class name:生成脚本的类名
    (3)Follow redirect:是否跟随网页重定向
    (4)Infer HTML resource:获取在白名单(filters部分)中的html resource
    (5)Automatic refers:是否自动计算http header里面的refer字段
    (6)Remove cache headers:是否去掉请求header里的缓存
    (7)Use class name as request prefix:是否将类名作为请求名的前缀
    (8)Save&check response bodies:是否对存储返回体的body并做校验
  4. Output
    录制的脚本存储的地方以及编码格式。
  5. Filters
    有两种策略,白名单策略(只获取白名单中指定的资源),黑名单策略(除了黑名单中指定的资源不获取以外,其余全部获取)。黑白名单匹配均使用正则表达是,比如,不详获取任何css文件:.*\\.css。可以直接点击右下角的No static resources,排除所有的静态资源。

HTTP代理模式

工作方式

HTTP代理模式工作的方式就是gatling recorder作为中间人进行request和response,如下图所示:
在这里插入图片描述
由图可见,代理模式其实存在安全隐患,它的监听行为如果没得到认可是会被拒绝的。https模式有三种,self-signed certificate,provided keystore,certificate authority。这里只演示在self-signed certificate下使用fireFox录制脚本,其他的就不一一探究了,毕竟这不是一种优选的录制模式。

使用http代理模式录制脚本

  1. recorder配置,如下图:
    在这里插入图片描述
  2. 浏览器配置,fireFox打开代理设置,如下图:
    在这里插入图片描述
  3. recorder点击start。
  4. fireFox访问百度网址,会提示存在安全隐患,点击Advanced–>Accept the Risk and Continue,然后进行一些搜索的操作。
    在这里插入图片描述
  5. 看recorder里面已经显示了访问记录了,然后点击Stop&Save。
    在这里插入图片描述
  6. 打开项目,在Scala目录下已经存在刚刚录制的脚本了,也就说明我们完成了一次录制。
    在这里插入图片描述

HAR Converter模式

HAR File简介

上面讲到HTTP代理模式存在安全隐患,会存在浏览器不支持的情况,所以不建议使用。使用HAR文件转换就不存在这个问题了。
什么是HAR文件呢?维基百科解释:The HTTP Archive format, or HAR, is a JSON-formatted archive file format for logging of a web browser’s interaction with a site。简单理解就是记录浏览器请求的日志的文件。
怎么获取HAR文件呢?一是可以通过Chrome的开发者工具获取,二可以通过一些软件获取,比如fiddler、Charles proxy等。这里我们使用Chrome来获取。

使用HAR Converter模式录制脚本

Gatling提供了一个测试网站:http://computer-database.gatling.io,之后的章节也会基于该网站进行测试,故这里使用它来录制脚本。

  1. 访问网站,打开开发者工具(更多工具–>开发者工具/F12),清除已有request信息,勾选Preserve log(保留录制期间的所有log信息)
    在这里插入图片描述
  2. 网页操作:刷新–>Add a new computer–>填写相关信息–>Create this computer–>搜索添加的电脑–>点击名字查看详情–>cancel
  3. 点击停止记录日志后,将日志存为HAR文件。
    在这里插入图片描述
  4. 配置recorder,如下图;
    在这里插入图片描述
  5. 点击start,转换成功后可在项目路径看到scala脚本了。

我录制的脚本放在附件了,之后的章节会基于该脚本进行,可下载后直接使用:AddNewComputer.scala

猜你喜欢

转载自blog.csdn.net/qunyaoaiziji/article/details/105854480