首页 > 解决方案 > 是否可以在 1 个 JMeter 线程组中为 2 个不同的用户角色使用 2 个 WDS?

问题描述

应用程序中有 2 个用户角色。

在 1 个浏览器中按顺序运行 2 个用户角色(登录 1 - 操作 1 - 注销 1,登录 2 - 操作 2 - 注销 2)时,会发生用户身份/页面可见性和失败的一组问题。

是否可以为 1 个 JMeter 线程组中的每个用户角色使用 1 个专用浏览器窗口?

或者有什么解决方案可以将 2 个用户拆分为 2 个单独的浏览器并将它们作为 1 个按顺序执行的组进行管理,首先是角色 1 操作,然后是角色 2 操作?

标签: selenium-webdriverjmeterwds

解决方案


“发生用户身份/页面可见性和失败的一组问题” - 给定行为良好的脚本不应该是这种情况,以防万一尝试在“注销”之后执行以下行

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
}

JMeterContextWDS.ctx代表什么

最后但并非最不重要的一点是,您可以将用户放入不同的线程组,只需Run Thread Groups consecutively测试计划级别打勾:

在此处输入图像描述

更多信息:WebDriver 采样器:您回答的 10 大问题


推荐阅读