首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用wrk测试一系列请求

使用wrk测试一系列请求
EN

Stack Overflow用户
提问于 2022-10-03 16:55:50
回答 1查看 58关注 0票数 0

我目前正试图对一个允许简单用户登录、注销和其他功能的web应用程序进行压力测试,但我真的很难正确地编写一个脚本,它允许我将多个请求链接在一起。

例如,我想编写一个脚本,随机让传入的线程执行以下操作之一:

1.

  • login
  • logout
  • login
  • do函数A
  • logout
  • login
  • do函数B
  • logout

应用程序使用基于表单的身份验证并维护会话。目前,我甚至不知道如何对我的/login路由执行正确的post请求,以便应用程序能够正确地为应用程序中的表单填写用户名和密码。应用程序在浏览器中工作正常,但是我一直在试图用wrk脚本来实现这个功能。目前,我已经尝试过这样的方法:

代码语言:javascript
复制
function request_0 ()
    headers = {}
    headers["Content-Type"] = "multipart/form-data"
    local body  = '{"username": "user0", "password": "pass0"}'
    return wrk.format("POST", "/login", headers, body)
end

function request_1 ()
    headers = {}
    headers["Content-Type"] = "multipart/form-data"
    local body  = '{"username": "user1", "password": "pass1"}'
    return wrk.format("POST", "/login", headers, body)
end

requests = {}
requests[0] = request_0
requests[1] = request_1

request = function()
    return requests[math.random(0,1)]()
end

至少模拟多个可能的传入请求,但是我的应用程序没有注册给定的用户名或密码。如果有人能够为请求提供适当的语法帮助,如何将多个请求链接在一起,以及如何处理身份验证,这将是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2022-10-21 03:13:05

我对Lua几乎一无所知,但是对于链接+身份验证,请将此作为一个简单的示例:https://github.com/wg/wrk/blob/master/scripts/auth.lua

另外,对于body,尝试将JSON封装在双方括号中,而不是单个quotes...like --这是:[[{"key": "value"}]]

但是,对于复杂的场景,我建议您查看Gatling。下面是一个示例:https://www.youtube.com/watch?v=3txt29cG3VM

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73938551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档