首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用登录的HTTP线程组运行一次,然后使用AccessToken运行具有更多用户/线程的其他JMteter请求

使用登录的HTTP线程组运行一次,然后使用AccessToken运行具有更多用户/线程的其他JMteter请求
EN

Stack Overflow用户
提问于 2019-08-16 21:19:31
回答 1查看 23关注 0票数 0

我使用JMetter 5.1.1对带有Identity框架的ASP.Net Core2.2运行负载测试。如果我使用多个线程并发运行Login POST请求,则在调用UserManager.UpdateSecurityStampAsync`时将导致AppIdentityDbContext乐观并发异常。因此,我只需要发送一次POST login请求,从响应中提取访问令牌,并将其用于具有许多用户/线程的后续请求以进行负载测试。如何实现这一目标?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-16 21:37:21

如果您确实需要这样做(参见注释),您可以在运行一次的设置线程组中进行登录。使用JSON提取器提取令牌(访问和刷新或仅访问),然后使用groovy的JSR223Assertion将它们复制到属性:

代码语言:javascript
复制
def p = vars.get("accessToken");
props.put("accessTokenProperty", p);

然后在其他线程组中,使用第一个采样器的JSR223PreProcessor,该采样器将属性复制到变量,即:

代码语言:javascript
复制
def p = props.get("accessTokenProperty");
vars.put("accessToken", p);

然后,您可以照常使用变量$accessToken:

代码语言:javascript
复制
Bearer ${accessToken}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57525401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档