【问题标题】:Could not handle View/state and Event validation in Jmeter Load testing无法在 Jmeter 负载测试中处理视图/状态和事件验证
【发布时间】:2016-01-06 23:06:45
【问题描述】:

我目前正在对一个 .Net Web 应用程序进行负载测试。在这种情况下,用户将登录并执行某些导航步骤,然后他/她将填写一份评估表,提交,然后退出应用程序。

所以对于这种情况,有很多 GET 和 POST 请求。并且因为它的 .Net 应用程序服务器将使用 view-State 和 _Event-Validation 进行一些身份验证。但是为了处理这件事,我不确定我需要从哪个请求中获取这 2 个参数并将其传递给哪个请求,因为这种情况是 GET 和 POST 请求的组合。这里是请求的顺序。

登录 (GET) 登录 (POST) 主页 (GET) 主页 (POST) 评估 (GET) 评估 (POST) --> 它将根据客户端名称加载程序列表 评估(POST)->它将提交客户端和程序名称以获取特定的评估表 评估 (GET) 评估(后) 评估 (GET) 注销 (GET)

所以大家帮我把这件事做空

【问题讨论】:

    标签: .net jmeter viewstate load-testing eventvalidation


    【解决方案1】:

    您应该检查 view-State 和 _Event-Validation 参数何时更改。(您可以通过右键单击并查看页面源代码轻松完成)。因为这些识别您在哪个页面。

    在我的上一个脚本中,我有 23 个不同的地方 viewState 发生了变化,我不得不提取并更改它 23 次。因此,没有人可以回答您应该在哪里更改它们,因为我们没有看到响应和您正在测试的应用程序。

    【讨论】:

      【解决方案2】:

      您可以非常轻松地在 JMeter 中处理请求之间的动态 POST 参数。 对于视图状态和事件验证,将两个正则表达式提取器添加到您的 Web 负载测试中。

      Name: Regex Extractor - ViewState
      Reference Name: v
      Regular Expression: name="__VIEWSTATE" id="__VIEWSTATE" value="(.+?)"
      Template: $1$
      Match No.(0 for Random): 1
      

      Name: Regex Extractor - EventValidation
      Reference Name: e
      Regular Expression: name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="(.+?)"
      Template: $1$
      Match No.(0 for Random): 1
      

      录制后,您必须通过将 __VIEWSTATE__EVENTVALIDATION 的值替换为 ${v}${e} 来编辑录制控制器中的每个 HTTP 请求。

      这将在您的下一个请求中有效地传递最新响应的视图状态和事件验证。

      【讨论】:

        【解决方案3】:

        您需要使用以下后处理器之一来提取 VIEWSTATE 和 EVENTVALIDATION 值并将它们转换为 JMeter 变量:

        请参阅ASP.NET Login Testing with JMeter 指南,了解提取器的真实示例和示例配置。

        另外不要忘记将HTTP Cookie Manager 添加到您的测试计划中,以表示浏览器 cookie、处理基于 cookie 的身份验证和模拟浏览器会话。

        【讨论】:

          【解决方案4】:

          您可以使用正则表达式提取器来处理它,只需将您的视图状态和事件验证值从 GET 请求传递到 POST 请求。 请记住,每个 POST 请求都需要不同的视图状态和事件验证值,这些值将从其上一个 GET 请求中获取,它肯定会对您有所帮助。

          谢谢

          【讨论】:

            猜你喜欢
            • 2018-01-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-09-28
            • 2012-07-29
            相关资源
            最近更新 更多