我正在尝试对我使用 loadUI 在soapUI 中创建的测试用例运行负载测试。
我的soapUI testCase 中有一个AMF 请求,它创建了一个数据库对象,我们称之为“someList”。在 testCase 选项菜单中,我检查了“启用 AMF 会话”并粘贴了正确的端点。
现在,我正在使用 testCase 的设置脚本功能在 testCase AMF 选项中动态设置随机登录名和密码,如下所示:
def loginCreds = String.format("%04d", new Random().nextInt(999999999))
testCase.setAmfLogin( loginCreds )
testCase.setAmfPassword( loginCreds )
当我在soapUI中运行这个testCase时,AMF会话登录名和密码是正确随机的,并且在我的数据库中创建了一个新用户,并且AMF请求正确地创建了“someList”并将所有权分配给新创建的随机用户(通过AMF会话生成登录名和密码选项。)
我重新运行测试,新用户,新“someList”。就像我想要的那样工作。
现在,当我在 LoadUI 中将其作为带有固定速率虚拟用户生成器的 soapUI Runner 运行时,只会创建一个新用户,并且每个后续的新“someList”都会分配给该用户。似乎安装脚本只运行一次!
这是预期的功能!?
以下是摘自http://www.loadui.org/Runners/soapui-runner-component.html
“需要注意的是,每个通过soapUI Runner 的虚拟用户都会获得自己的soapUI 测试用例的独立副本,但实际上与运行属于同一soapUI 项目的soapUI 测试用例的所有其他VU 共享soapUI 项目的其余部分。这意味着您应该避免写入 TestSuite 或项目属性,因为它们在所有 VU 之间共享,如果不同步,可能会导致 ConcurrentModificationException。”
我读错了吗?不应该每个虚拟用户都获得它自己的 testCase 版本,从而获得设置脚本以及随机生成的 AMF 会话登录名和密码吗?
这似乎完全否定了模拟单独的虚拟用户的可能性,每个虚拟用户都有自己的 AMF 会话凭据,因为没有一个用户会同时制作数百个“someList”对象。
任何帮助或澄清将不胜感激。
我对我的假设进行了一些测试,并且每次都运行设置脚本,但是 AMF 会话凭据由生成的所有虚拟用户共享。