我正在尝试使用JMeter
来测试我们的Web应用程序。我们最初使用LoadComplete
来测试我们的Web应用程序,但由于LoadComplete
无法在非GUI模式下运行,因此我们无法使用 max stat's 我们的测试服务器(压缩我们的8个CPU和8GB的RAM)。这就是为什么我走向JMeter
(https://blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui)。
测试包括登录,选择特定应用,通过此应用执行简单任务,然后结束录制。失败的HTTP请求会在查看结果树上的响应数据上打印 Failed Access 。
我使用 HTTP(S)测试脚本记录器来记录每个HTTP请求。我的JMeter
项目在几个不同的HTTP请求上失败,其中包括 oauthtoken获取请求,其中包含 jessionid =“item”, GET resourceLastAccessedTime请求,以及一对 GET resourceLastAccessedTime请求。我试图遵循blazementer的指导,了解如何使用{{1>}进行登录身份验证,因为这些请求似乎与登录后每个用户的身份验证以及我遇到的问题有关查看结果树上的每个请求的响应数据 拒绝访问。 (https://docs.blazemeter.com/customer/portal/articles/1743663-how-to-use-jmeter-for-login-authentication-)。
其中一个步骤是在登录这些请求后从Post请求中“复制并粘贴”参数。我可以将这些参数添加到下面的发送带有请求的参数的请求中,但我们的POST请求只有两个参数(登录名和密码)。 还有其他地方可以查找这些参数吗?
我尝试了很多不同尝试的组合,但我仍然不成功(意思是:我将正则表达式提取器移动到几个不同的HTTP请求,我移动了哪些HTTP请求来放置这些参数,我有尚未成功)。
您是否知道可能对此有所帮助的网址?
答案 0 :(得分:0)
不要相信测试脚本记录器!记录您的请求时,它不遵循任何逻辑。它只记录通过代理处理的请求。如果您使用无法定义为常量的参数,最好的方法是手动重写脚本。 请耐心等待并花费几个小时(仅一次!)来学习如何使用Jmeter GUI手动构建任何测试场景(甚至复杂)。它将为您节省大量的调试时间。 您的测试场景似乎(只是猜测)不包含Cookie Manager项目。根据您上面写的内容,似乎在登录到serer后(通过发送带有登录名和密码的POST),它通过Set-Cookie HTTP标头设置一些cookie。这些cookie应包含在每个下一个请求中,作为您之前成功登录的证明(简单Web应用程序的最常见逻辑)。因此,如果您获得拒绝访问权限,则意味着您未在测试请求中包含适当的Cookie。使用Cookie管理器。 如果您需要任何帮助,请随时与我联系。 您需要了解Jmeter帮助手册,了解每个元素的工作原理。 P.S。:Jmeter还可以在GUI和CLI模式下从多个从属服务器生成分布式负载。所以,如果你需要强调你的服务器,Jmeter是最好的选择。 欢迎来到Jmeter用户家庭!祝你好运。