我正在尝试对具有ADFS(RequestSecurityTokenResponse)实现的网站进行负载测试
问题是,每当我记录一次网络测试时,它都会在前几分钟生效。但是,同一Web测试将在大约一个小时后失败,并且在我们需要进行负载测试时,该测试已失败,因为它无法再登录到该网站。好像失败了,因为安全令牌不再相同。我虽然通过了所有动态参数。另外,我可以在录制的脚本中看到令牌,但是当我实际运行测试时看不到令牌。
根据Understanding WS-Federation — Passive Requestor Profile条:
请求者访问资源。
如果在请求中未提供会话跟踪令牌(或cookie,将请求标识为已认证会话),则资源会将请求者重定向到资源的IdP / STS。
如果资源的IdP / STS尚未缓存表明请求者已经通过身份验证的数据(另一个cookie,最类似于cookie,则将执行第二次重定向到请求者的IdP / STS来对用户进行身份验证。
如果请求中未提供有关用户的IdP / STS或家庭领域的信息,则IdP / STS可能必须提示用户输入领域信息或使用某种类型的家庭领域发现服务。之后,将用户重定向到身份验证工作流。
提示用户输入凭据,将凭据提交到请求者的IdP / STS,并验证这些凭据。
请求者的IdP / STS生成一个安全令牌,以供联盟使用。
请求者IdP / STS生成的令牌被传递回资源的IdP / STS,以交换范围为该资源的令牌。
资源的IdP / STS通过HTTP重定向将新令牌传递到资源。
资源消耗令牌并建立安全上下文。
请求者被重定向到资源URL。
因此获得令牌是在将凭据提供给ADFS网关后实现令牌的correlation的问题,可以使用合适的JMeter的Post-Processor来获取令牌,并且应该替换已记录的具有以下内容的硬编码令牌:来自后处理器的JMeter Variable的生存时间有限。