告别繁琐的测试脚本编写,使用goreplay流量回放真爽

01 What

首先什么是goreplay?

参照官方介绍

GoReplay is the simplest and safest way to test your app using real traffic before you put it into production.

GoReplay提供了重用现有流量进行测试的简单想法。

大致工作流程如下:

图片

简单来说就是goreplay抓取线上真实的流量,并将捕捉到的流量转发到测试服务器上。

02 When

什么时候可以试用goreplay?

简单写几点场景,具体还是根据实际需求来。

Case 1

上线前在预发布环境,使用线上真实的请求,检查是否准备发布的版本,是否具备发布标准

Case 2

压力测试完成后,用线上真实的请求,加速后回放至测试环境,检查是否有报错等问题

Case 3

abtest

用线上的流量转发到预发,检查相同流量下一些指标的反馈情况,检查核心数据是否有改善、优化等等
具体case还需要根据自己的需求,灵活改变。

03 How

上面大致说了goreplay是什么以及什么场景可以用,下面记录一下自己的实践过程。
首先需要线上服务器root权限,这个需要谨慎使用!!!

1.下载安装goreplay

wget [https://github.com/buger/

goreplay/releases/download/v1.0-rc2/gor_1.0-

RC2_x64.tar.gz](https://github.com/buger/goreplay/releases/download/v1.0-rc2/gor_1.0-RC2_x64.tar.gz)

tar xvf gor_1.0-RC2_x64.tar.gz

2.一些常用的命令

-input-raw 抓取指定端口的流量 gor --input-raw :8080

-output-stdout 打印到控制台

-output-file 将请求写到文件中 gor --input-raw:80 --output-file ./requests.gor

-input-file 从文件中读取请求,与上一条命令呼应 gor --input-file ./requests.gor

-exit-after 5s 持续时间

-http-allow-url url白名单,其他请求将会被丢弃

-http-allow-method 根据请求方式过滤

-http-disallow-url 遇上一个url相反,黑名单,其他的请求会被捕获到

实践一下

捕获2051端口的请求打印到控制台

隐藏了部分敏感信息

在这里插入图片描述

将请求保存到本地文件中

sudo ./gor --input-raw :2051 --http-allow-url /recommend_you_like --output-file ./recommend_you_like.gor 

只筛选recommend_you_like接口的请求,保存在本地文件中

这边实际上是两个实践

第一个:保存流量到文件

第二个:抓取置顶url的流量

截图可以看到生成了一个文件

在这里插入图片描述

转发文件中流量至测试环境

sudo ./gor --input-file ./recommend_you_like_0.gor --output-http="http://172.1.1.1:2051"

至测试环境的服务器上,查看日志可以到流量已经转发过来

04 性能测试

图片

udo ./gor --input-file “./recommend_you_like_0.gor|200%” --output-http="http://172.1.1.1:2051"

将请求以2倍的速度发出去,同时也支持限速 10% 20%等

关于限速还有另一种方法——指定每秒的请求

在这里插入图片描述

sudo ./gor --input-file “./recommend_you_like_0.gor” --output-http="http://172.1.1.1:2051|50"

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值