我正在尝试使用JMeter Script登录我的应用程序 .
我添加了Cookie管理器和缓存管理器
我的线程组脚本
-
在主登录页面(/ app)上获取以返回会话ID和表单字段和cookie
-
已完成表单字段的POST,其中包含cookie(/ posthandler),其中包含“follow redirects”
会发生什么
-
POST发送初始cookie(来自GET)和表单字段并登录ok
-
会话 Build (我在app数据库中看到一条记录)
-
响应是带有新cookie的重定向
-
JMeter重定向(GET)到会话URL(/ app?session = xxxxx)
-
这与"[no cookies]"一致(根据要求面板)
-
由于该请求在没有新cookie的情况下到达 - 该应用程序会向登录页面发出第二次重定向 .
那么有没有办法在POST响应后强制GET重定向发送cookie?
我的理论是,JMeter就是这样,因为POST和重定向GET的URI路径不同,JMeter不会发送cookie .
我试过了
-
各种Cookie管理器设置(标准,默认,兼容性) .
-
跟随此Understanding and Using JMeter Cookie Manager并设置check.cookies = false .
-
和建议SO - JMeter: Login flow involving URL redirection not working包括确保有一个init
1 回答
我的问题是自己造成的!
我正在与不同的环境运行,这些环境具有不同的上下文根,例如/ test / app而不是/ app . 为此,我使用“my.domain.com/test”修改了我的$ 用户参数,而不是调整所有路径设置 .
对于发送的请求,此方法似乎在$ $ 解析为正确的URL时起作用 - 但服务器创建的Cookie是$ (在/ test / app中)并且JMeter看到了这个不同的(如在/ app中) .
我现在已经介绍了一个$ 用户变量(设置为/ test /)并将其添加到我的所有Path值中 - 我的Login现在正在运行 .