<我的备忘录>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(" 
    .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 文件

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

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

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

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

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

更多资料请参考官网Gatling.io

时间: 2024-11-08 22:51:41

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

接口及接口测试简单介绍

1.什么是接口:简单来说从数据库里面取数据(get请求)或是插入数据(post请求) 2.接口测试:就是功能测试,它比功能测试还要简单,不需要看页面,只需要看数据对不对就行 前端: web页面:html.css.js语言开发 ios的app:object-c.swfit语言开发 android的app:Android语言开发        (服务端给这些前端提供服务) 前后端是通过接口进行交互的:比如京东网页和京东app,比如login?username=lili&password=123456

从Fiddler抓包到Jmeter接口测试(简单的思路)

版权声明:本文为博主原创文章,未经博主允许不得转载. Fiddler下载和配置安装 从网上下载fiddler的安装包即可,直接默认,一直点击下一步,直至安装完成. 安装完成后直接打开Fiddler 在菜单栏Tools->Fiddler Options->Connections,勾选Allow remote computers to connect,默认的端口号为8888,这里不需要修改,在修改手机代理设置时注意与这里一致. 查看pc本机ip后,手机设置代理,填入pc本机的ip和端口号8888,

[flask]Restful接口测试简单的应用

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : shenqiang from flask import Flask,make_response,jsonify from flask_restful import Resource,Api,reqparse '''实例化Flask这个类''' app = Flask(__name__) '''调用flask Restful''' api = Api(app=app) '''配置in

接口测试 总结

前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试. 1.介绍什么是接口 现在最常用的2种接口就是webservice和http api接口,webservice接口是走soap协议通过http传输,请求报文和返回报文都是xm格式,可以通过jme.soapui工具进行测试: http api接口是走http协议通过路径来区分调用的

Java实现 Hessian接口测试

Hessian接口测试简单单例 Hessian是基于Binary –RPC(二进制远程过程调用协议)进行通讯. Hessian就是把Java对象转变成字节序列,然后通过Http传输到目标服务器上(主机),主机收到这个字节序列后,按照一定的协议标准进行反序列,提交给对应的服务处理.处理完成以后以同样的方式返回数据. 环境准备: Eclipse Hessian.jar 所测接口的API包 接口请求地址(含端口号) 接口文档说明 接口服务端开启 一.             参数设置 根据接口文档定义

设计模式03备忘录(java)

先贴代码有空来写内容. 备忘录1 1 //简单的备忘录,只可以记录上一次修改前的状态,实现撤回一次的操作. 2 class Student{ 3 private String name; 4 private String age; 5 private String gender; 6 //在Student类中直接设立一个Student实例,用于存储该类对象的上一个状态 7 private Student memento=null; 8 //构造函数就不啰嗦了 9 public Student()

设计模式 - 备忘录

备忘录模式很简单,就是存储对象,然后支持恢复对象到之前的某个状态,玩过游戏的,一定懂得存档一说,备忘录就是对对象的存档与管理. 效果: 这个需要配合FastCoder使用,请自行到Github上去搜索源码FastCoder源码^_^! 源码: Model.h 与 Model.m // // Model.h // MementoPattern // // Created by YouXianMing on 15/1/3. // Copyright (c) 2015年 YouXianMing. Al

团队作业(一)----备忘录APP的市场需求调研

一.团队说明 团队队长:韩冰 团队成员:许博文(我)   彭博    宋金 二.团队分工 目前还处于前期调研阶段,我负责的部分是发布问卷并对回收的问卷数据进行统计和分析. 三.团队任务 这次的问卷是大家针对市场需求和市面上现有的APP一起设计的,共11个问题.问卷是在腾讯问卷上制作的,从回收情况来看,结果还是比较不错的. 问卷链接:https://wj.qq.com/s/880909/ff3a/ 下面是对问卷回收得到的数据进行的分析: 1.请问您的性别? 从数据上看填写问卷的女生居多,这可能由于

java程序员到底该不该了解一点算法(一个简单的递归计算斐波那契数列的案例说明算法对程序的重要性)

为什么说 “算法是程序的灵魂这句话一点也不为过”,请看下面这个简单的案例 1 package recursion; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 import org.junit.Test; 7 8 /** 9 * @author: MengXianman 10 * @creationTime: 2017年11月27日 上午9:47:51 11 * @description: 斐波那契数列结合备忘录算法的简单使