因此,我尝试自动化创建Keycloak用户的JMeter脚本,然后对其进行签名.
首先它获取登录页面并存储代码,这是一个示例请求:
GET http://Keycloak.com:8001//auth/realms/REALM/protocol/openid-connect/auth?response_type=code&client_id=CLIENT&scope=openid%20profile%20email&nonce=N5b3a2da23c04a&response_mode=form_post&resource=RESOURCE&state=2SJwtlVZrswlGkw&redirect_uri=REDIRECTURI
Run Code Online (Sandbox Code Playgroud)
但是,当我然后获取注册页面时,代码会更改,tab_id也会更改.如何让keycloak不会在线程中的每个HTTP请求中生成新的代码令牌?
另外,为什么每个使用JMeter的HTTP请求都像新会话而不是系列中的下一个请求?
编辑:
我使用正则表达式提取器来跟踪代码和执行变量,以及为线程使用HTTP Cookie管理器和HTTP缓存管理器.
查看我的POST请求,两个变量都与之前的HTTP请求相同,并且我的所有cookie都被维护,但每次尝试此自动登录时,我都会收到400错误,并且keycloak事件日志显示invalid_code错误.
您的正则表达式提取器很可能没有嵌套在您尝试从中提取数据的 HTTP 请求中。
如果其范围太宽,它将适用于所有 HTTP 请求,因此第一次成功提取,但对于下一个不包含令牌的请求,提取器将运行并用空值覆盖旧值。
请参阅 JMeter 中的范围规则:
| 归档时间: |
|
| 查看次数: |
901 次 |
| 最近记录: |