我正在尝试运行 Visual Studio 负载测试,但在运行之前,我必须调用登录 webAPI 来生成 JWT 令牌,然后在所有 webAPI Web 测试中使用此令牌。
我只需要调用一次登录即可生成令牌。我的所有其他 webAPI 调用中都使用相同的令牌值。在真正触发负载测试之前,如何将此步骤放入负载测试中?
负载测试的“测试组合”部分可以指定可以执行登录并收集令牌的“初始化”测试。负载测试的上下文参数 (CP) 之一是$LoadTestUserContext
。这是为了保存为同一虚拟用户 (VU) 执行的测试之间的值。登录测试可以将token保存到$LoadTestUserContext
其他测试可以从那里访问它。
请注意,每个 VU 都有自己的$LoadTestUserContext
。如果场景中的“新用户百分比”较高,则将多次执行新VU的初始化测试(即登录测试)。
如果所有 VU 应使用相同的令牌值,则另一种可能性是创建一个执行一次登录测试的场景,方法是将该场景的 iterations 属性设置为1
;还设置恒定负载1
。这个测试可能有一个PostRequest
or a PostWebTest
将令牌值保存到static
某个类的变量。然后,第二个场景运行所有实际负载测试用例,其“延迟启动时间”属性可能是几秒钟,足够长以运行登录测试。这些测试的插件可以编写static
值转化为测试的 CP。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)