如何在 VS 负载测试之前设置 JWT 令牌

How to set up the JWT token before the VS loadtest

我正在尝试 运行 Visual Studio 负载测试,但在此之前 运行s 我必须调用登录 webAPI 来生成 JWT 令牌,然后在所有 webAPI 网络测试。

我只需要调用一次登录生成令牌。我的所有其他 webAPI 调用都使用相同的标记值。在我真正触发负载测试之前,如何将此步骤放入我的负载测试中?

负载测试的 "Test mix" 部分可以指定可以进行登录和收集令牌的 "initialisation" 测试。负载测试的上下文参数 (CP) 之一是 $LoadTestUserContext。这旨在保存为同一虚拟用户 (VU) 执行的测试之间的值。登录测试可以将令牌保存到 $LoadTestUserContext 中,其他测试可以从那里访问它。

请注意,每个 VU 都有自己的 $LoadTestUserContext。如果场景中"percentage of new users"高,那么新VU的初始化测试(即登录测试)会执行多次

如果所有 VU 都应该使用相同的令牌值,那么另一种可能性是创建一个执行一次登录测试的场景,方法是将该场景的迭代 属性 设置为 1;还设置了 1 的恒定负载。该测试可以有一个 PostRequestPostWebTest 插件,将令牌值保存到某些 class 的 static 变量中。第二种情况是 运行 所有真实负载测试用例,它的 "delay start time" 属性 可能是几秒钟,足以 运行 登录测试。这些测试的插件可以将 static 值写入测试的 CP。