有没有办法改变蔬菜中的json体在蔬菜中的后期请求负荷测试. 我想在json正文中为每个请求发送一个带有不同参数的请求.例如,如果我有 POST https://endpoint.com/createNew@/targets/data.json 和data
我想在json正文中为每个请求发送一个带有不同参数的请求.例如,如果我有
POST https://endpoint.com/createNew @/targets/data.json
和data.json看起来像
{ "id": 1234 }
制作它的最佳方法是什么,以便我们为攻击中的每个请求提供不同的请求数据?
我需要做类似的事情,并决定使用vegeta lib而不是cli,这允许我控制HTTP请求所以你需要编写自己的函数来返回vegeta.Targeter
func NewCustomTargeter() vegeta.Targeter { return func(tgt *vegeta.Target) error { if tgt == nil { return vegeta.ErrNilTarget } tgt.Method = "POST" tgt.URL = "https://endpoint.com/createNew" rand := generateFourDigitRandom() payload := '{ "id":"`+rand+ `" } ` tgt.Body = []byte(payload) return nil } }
并在这个主函数中使用此函数
targeter := NewCustomTargeter() attacker := vegeta.NewAttacker() var metrics vegeta.Metrics for res := range attacker.Attack(targeter, rate, duration, "Load Test") { metrics.Add(res) } metrics.Close() fmt.Printf("%+v \n", metrics)