问题描述
Application 中有 2 个用户角色。
在 1 个浏览器中依次运行 2 个用户角色(登录 1 - 动作 1 - 注销 1,登录 2 - 动作 2 - 注销 2)时,会出现用户身份/页面可见性和失败的问题。
是否可以为 1 个 JMeter 线程组中的每个用户角色使用 1 个专用浏览器窗口?
或者有什么解决方案可以将 2 个用户拆分为 2 个单独的浏览器并将它们作为 1 个按顺序执行的组进行管理,先执行角色 1 操作,然后执行角色 2 操作?
解决方法
“发生用户身份/页面可见性和失败的一系列问题” - 给出良好的脚本不应该是这种情况,以防万一尝试在“注销”后执行以下行
WDS.browser.manage().deleteAllCookies()
更多信息:WebDriver.Options.deleteAllCookies()
另一种选择是将条件放入脚本中,例如:
if (WDS.ctx.getThreadNum() == 0) {
// code specific for user 1
}
if (WDS.ctx.getThreadNum() == 1) {
// code specific for user 2
}
其中 WDS.ctx
代表 JMeterContext
最后但并非最不重要的一点,您可以将您的用户放入不同的线程组,只需在 Test Plan 级别勾选 Run Thread Groups consecutively
框: