【发布时间】:2016-02-17 09:33:07
【问题描述】:
我正在尝试在基于令牌的授权机制下创建测试。在访问令牌过期之前,一切都几乎正常工作。然后我正在尝试刷新它,但是似乎没有执行某些测试。
这是授权舞:
users.csv 中的 foreach 用户: { 获取授权码:Http采样器 在 ${authorizationcode} 上提取 AuthzCode:JSON 提取器 如果 ${JMeterThread.last_sample_ok} { 获取访问令牌:Http 采样器 在 ${accesstoken} 上提取 AccessToken:JSON 提取器 在 ${refreshtoken} 上提取 RefreshToken:JSON 提取器 如果 ${JMeterThread.last_sample_ok} { data.csv 中的 foreach 数据 { 在正文中发送数据:Http 采样器 如果 ${JMeterThread.last_sample_ok} == false ******************* { ${expiredaccesstokenerror} 上的提取错误:JSON 提取器 if (${expiredaccesstokenerror} == "expired_accesstoken") { 使用 ${refreshtoken} 获取新的 accessToken:Http 请求 在 ${accesstoken} 上提取 AccessToken:JSON 提取器 在 ${refreshtoken} 上提取 RefreshToken:JSON 提取器 } } } } } }
在 AccessToken 过期并且服务器返回我这个正文之前一切正常:
{
"error_description":"Access token expired",
"suberror":"expired_accesstoken",
"error":"invalid_grant"
}
在那之后,我期待 JMeter 到达内部 if controller 和 ${JMeterThread.last_sample_ok} == false 然后下一个 if controller 条件 ${expiredaccesstokenerror} == "expired_accesstoken"。但是我无法弄清楚为什么没有达到此代码。
正如您在此处的图片中看到的那样,我在 JMeter 中将这个过程实现为:
【问题讨论】:
标签: jmeter ruby-jmeter