Jmeter 视图状态

Jmeter Viewstates

我有 j 仪表设置

TestPlan
   ThreadGroup
   HTTP CacheManager
   HTTP CookieManager
   RegularEpression  Extractor id="__VIEWSTATE" value="(.+?)"
   RegularExpression Extractor  id="__EVENTVALIDATION" value="(.+?)"
     RecordingController 
          login ${VIEWSTATE}
          browsingForminmyapp.aspx ${VIEWSTATE}
          browsingForm2inmyapp.aspx  ${VIEWSTATE}

一切都按预期工作,但是,我想设置 OnceOnlyController 以便我的登录表单只执行我在 ThreadGroup 中设置线程数的次数.如果我创建这个 OnceOnly 控制器,我的 ViewStates 不正确并且我得到重定向,对象移动,无效的 VIEWSTATE。 这将是不起作用的设置,但让我的登录表单执行了正确的次数。

TestPlan
   ThreadGroup
   HTTP CacheManager
   HTTP CookieManager
   RegularEpression  Extractor id="__VIEWSTATE" value="(.+?)"
   RegularExpression Extractor  id="__EVENTVALIDATION" value="(.+?)"
     RecordingController
          OnceOnlyController
            login.aspx ${VIEWSTATE}
      browsingForminmyapp.aspx ${VIEWSTATE}
      browsingForm2inmyapp.aspx ${VIEWSTATE}

我怎样才能让它工作,因为它使用第一次设置工作,但是在只创建一次控制器之后,事情变得混乱,VIEWSTATES 不正常

我建议将您的 login.aspx 采样器放在 If Controller 下。使用下面的语句作为"Condition"

${__BeanShell(vars.getIteration()==1)}

同时将您的正则表达式提取器元素移动为您的 login.aspx 请求的子元素,否则它们将应用于每个采样器,从而导致额外开销。