<我的备忘录>Gatling接口测试简单使用

简介: Gatling接口测试 学习记录

Gatling 的介绍和JMeter的性能对比请参看新一代服务器性能测试工具Gatling

这里记录自己简单使用心得.

1.下载安装

直接下载zip文件到本地目录,解压目录即可。下载地址Gatling最新版2.17下载

文件目录如下

result:保存生成结果

user-files:测试的scala 脚本文件

2.本次测试采用的是一个Play rest 工程。Play rest 工程----helloplay 其中有多个接口需要同步测试(删除,更新操作类同)

POST    /user                                      controllers.Application.insert     //插入数据接口
GET     /user/all                                   controllers.Application.findAll    // 查询接口所有
GET    /user/:id                                    controllers.Application.findasync(id:Long)     //查询接单条

编写测试代码,测试代码放在$GATLING_HOME/user-files/simulations/computerdatabase 目录下

本例简单测试简单代码如下

package jiang

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._

class jiang_9_17 extends  Simulation {

    // 测试接口部分
    // 1. 查询
    object Search {
        val search  = exec(http("Home").get("/")).pause(1)
                            .exec(http("GetAll").get("/user/all ")).pause(1)
                            .exec(http("Query").get("/user/10")).pause(1)        
    }
    // 2. 插入
    object Edit {
        val insert = exec(http("Insert").post("/user").body(StringBody("""{"name":"han"}""")).asJSON).pause(1)
    }

// 设置浏览器信息
    val httpConf = http
    .baseURL("http://localhost:9000")
    .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
    .doNotTrackHeader("1")
    .acceptLanguageHeader("zh-CN,zh;q=0.8,en;q=0.6")
    .acceptEncodingHeader("gzip, deflate")
    .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")

// 设置权限    user只能查询,admin可以查询和插入数据
  val users = scenario("Users").exec(Search.search) // regular users can't Insert
  val admins = scenario("Admins").exec(Search.search, Edit.insert)

  // 设置请求次数 如下为在10s内 user 查询执行1000次,admin 查询和插入执行100次
  setUp(
    users.inject(rampUsers(1000) over (10 seconds)),
    admins.inject(rampUsers(100) over (10 seconds))
  ).protocols(httpConf)
}

执行gatling脚本 ./$GATLING_HOME/bin/gatling.sh

选择本次需要执行的脚本文件[6]jiang.jiang_9_17 // package 下的jiang_9_17 文件

下面两步选择默认就可以了

image

然后可以看到执行完成结果

image

$GATLING_HOME/result 目录下生成了本次测试的可视化结果

<如本例>用浏览器打开index.html 文件浏览详细信息(图一为总体,二为每个接口对应信息)

image
image

由于此次测试数据库为本地,查询比较快.因此接口请求时间都比较短。\

文章转载自 开源中国社区[https://www.oschina.net]

相关文章
|
3月前
|
JSON 自然语言处理 机器人
接口自动化测试教程:如何使用 Robot Framework
Robot Framework 是一个用于实现自动化测试和机器人流程自动化(RPA)的开放源代码框架。它由一个名为 Robot Framework Foundation 的组织得到推广,得到了多家领军企业在软件开发中的广泛应用。框架以其开放性和灵活性为特点,能够无缝整合各种其他工具,无论团队规模大小,均无需承担额外许可成本。
|
4月前
|
XML JSON JavaScript
『接口测试干货』| Newman+Postman接口自动化测试完整过程
『接口测试干货』| Newman+Postman接口自动化测试完整过程
47 1
|
5月前
|
JSON JavaScript 测试技术
apipost测试工具的基本使用
apipost测试工具的基本使用
141 0
|
XML 存储 测试技术
soapUI 再谈SoapUI接口测试--文件组织与接口“布局”管理
soapUI 再谈SoapUI接口测试--文件组织与接口“布局”管理
55 0
|
测试技术
jira学习案例129-自动化测试hook
jira学习案例129-自动化测试hook
73 0
jira学习案例129-自动化测试hook
|
测试技术 数据库 数据安全/隐私保护
接口测试数据引发的接口测试代码改进(之二)
接口测试数据引发的接口测试代码改进(之二)
97 0
接口测试数据引发的接口测试代码改进(之二)
|
存储 JSON 测试技术
接口测试|HttpRunner简介及安装
接口测试|HttpRunner简介及安装
192 0
接口测试|HttpRunner简介及安装
|
测试技术
Unittest接口和UI自动化测试框架中的发送邮件服务如何使用?
Unittest接口和UI自动化测试框架中的发送邮件服务如何使用?
155 0
Unittest接口和UI自动化测试框架中的发送邮件服务如何使用?
|
存储 前端开发 安全
python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)
上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试。
191 0
python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)
|
测试技术
Appium自动化框架从0到1之 测试用例封装
Appium自动化框架从0到1之 测试用例封装
93 0

热门文章

最新文章