使用Gatling进行性能测试(一)Gatling初识&使用maven创建Gatling项目

淺唱寂寞╮ 提交于 2020-05-06 20:16:07

引言

《使用Gatling进行性能测试》是一个专栏,一共有5篇文章,包括Gatling项目创建、录制脚本、脚本调试、模拟设置、报告解读几部分,主要适用于刚开始学习使用Gatling的小白,或者看Gatling官方英文文档困难的小伙伴。我也是第一次学Gatling,都是按官方文档来的,过程中如果有任何问题,欢迎大家评论或私信交流。

为什么要使用Gatling进行性能测试?

Gatling是一款开源的性能测试工具,它有两个版本,一个是免费版,一个是企业版。企业版相对于免费版来说,多出的功能主要有:支持云平台分布式测试,更多类型的CI集成(比如Bamboo、TeamCity),有一个可视化的管理页面,可以查看实时报告,也支持LDAP认证。本专栏使用的是Gatling免费版的,所以基于此讲一下它的优点。如下:
(1)可以适用于任何操作系统;
(2)性能好,一个线程可以模拟多个用户;
(3)case as code,脚本语言是scala,是一款基于java的DSL,易于扩展;
(4)CI集成简单,可以和Jenkins集成;
(5)和Git集成,方便管理代码版本;
(6)支持HTTP代理脚本录制和HAR File脚本录制;
(7)生成的报表丰富易懂;
(8)安装简单。







创建你的第一个Gatling项目

Gatling的安装方式有多种,可以直接下载安装包安装,可以使用构建工具安装,为了之后便于版本管理和CI集成,这里选用的安装方式是使用maven plugin,使用IntelliJ IDEA开发,操作系统是Mac OS。

环境准备

  1. 准备java环境,安装OpenJDK 8或以上版本。
  2. 安装构建工具,maven/gradel。
  3. 安装IDE,IntelliJ/Eclipse。
  4. 安装chrome浏览器。

创建项目

  1. 使用maven直接生成Gatling项目结构。
    (1)从terminal进入自定义目录:mvn archetype:generate,然后出现很多选项,输入关键字Gatling搜索,然后选择,如下图
    在这里插入图片描述
    (2)配置maven项目参数,如下图:
    在这里插入图片描述



  2. 使用IDE打开项目
    (1)安装scala plugin,如下图所示:
    在这里插入图片描述
    在这里插入图片描述
    (2)打开项目,如下图所示:
    Import Project–>找到computerDatabase–>使用maven打开
    在这里插入图片描述





  3. 项目配置
    (1)将src目录标注为测试源,如下图所示:
    在这里插入图片描述
    (2)配置scala SDK,打开项目后会出现没有Scala SDK的选项,点击setup,配置完成后,就可以new scala calss了。
    在这里插入图片描述
    在这里插入图片描述




将项目推送到github

为了之后便于查看版本变更以及CI集成,需要将项目推送到github,步骤如下:

  1. git init
    在这里插入图片描述
  2. 添加.gitignore 文件,可使用插件.ignore,也可以手动创建.gitigore文件
    在这里插入图片描述
    .gitignore文件内容:

/.idea/
/computerDatabase.iml
/target/
*.class
*.log
  1. git status
    在这里插入图片描述
  2. git add .
  3. git commit -m “”
    在这里插入图片描述
  4. github创建repository
    在这里插入图片描述
  5. git remote add origin 远程仓库地址
  6. git pull origin master --allow-unrelated-histories
  7. git push -u origin master
    在这里插入图片描述

项目结构详解

  1. resources
    resource目录顾名思义就是存储项目资源的,存放的是一些项目的测试数据和配置文件
    (1)bodies:Gatling默认创建的目录,用于存储接口调用的body体;
    (2)data:Gatling默认创建的目录,用于存储测试数据;
    (3)gatling.config:Gatling的整体配置,具体内容可以点开后查看,uncomment之后生效;
    (4)recorder.config:recorder的配置,recorder是Gatling自带的录制工具,第二节会详细讲述;
    (5)logback.xml:用于配置Gatling打印的日志格式、级别等;





  2. scala
    用于存放测试代码的目录。
    (1)Engine:运行测试的类;
    (2)Recorder:运行recorder的类,可以右键点击运行,会打开一个recorder的UI;
    (3)IDEPathHelper:对Gatling项目目录层级的解释,所以看这个也可以帮你分析其目录层级。



第一节的内容就完成了,主要介绍了Gatling以及如何创建和配置Gatling项目,下一节会详细讲解如何使用recorder录制脚本。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!