有没有办法改变蔬菜中的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)
