JMeter测试servlet流程

时间:2017-03-27 22:49:41

标签: java servlets jmeter stress-testing

我正在设计一个servlet的压力测试,基本上我在查询参数中发送了两个选项,客户端ID和INPUT,我需要强调这个servlet但是我需要它动态地执行它因为取决于客户端ID输入结果可能不同(基本上是带菜单和选项的流程)

这是servlet返回的内容(结构):

<menu>
  <title>Welcome</title>
  <menuOptions>
    <message>
      <option>1. Info</option>
    </message>
    <message>
      <option>2. Availability</option>
    </message>
  </menuOptions>
</menu>

所以我想知道是否有任何方法可以调用servlet并检查响应,看是否有菜单选项,如果是这样,以重复的方式发送任何具有相同客户端ID的选项,这样可以强调,我在做它只有一个HTTP请求并加载了ID客户端的CSV,但列表大约是100万,所以为了发送一个相同数字的请求,它必须先循环所有的cilents,然后那个时候为该客户端的会话已经过期了。

所以我需要在每个HTTP请求中查看内容,然后再次调用,直到客户端没有选项。

让我详细说明以下内容:

  1. 我第一次使用此网址http://localhost:8080/Integration/menu?ID=123
  2. 所以系统返回:

    <menu>
      <title>Welcome</title>
      <menuOptions>
        <message>
          <option>1. Info</option>
        </message>
        <message>
          <option>2. Availability</option>
        </message>
      </menuOptions>
    </menu>
    
    1. 因此,如果我想从上一个响应中选择两个选项中的任何一个,我需要发送1或2作为输入,假设我选择第一个

      http://localhost:8080/Integration/menu?ID=123&input=1

    2. 所以系统返回:

      <menu>
        <title>1. Info</title>
        <menuOptions>
          <message>
            <option>1. Client information</option>
          </message>
          <message>
            <option>2. Account Information</option>
          </message>
        </menuOptions>
      </menu>
      
      1. 所以我想说我现在选择第二个

        http://localhost:8080/Integration/menu?ID=123&input=2

      2. 所以系统返回:

        <menu>
          <title>The account is activated</title>
          <menuOptions/>
        </menu>
        
        1. 所以此时我无法发送更多选项,因为没有。
        2. 这基本上是我需要在Jmeter中动态测试的,因为所有菜单都是动态的,可以为任何用户更改,我也想同时为一个用户测试流程,因为正如我之前所说的那样它首先循环所有客户端

1 个答案:

答案 0 :(得分:0)

我认为您可以使用HTML Link Parser来自动处理底层组件,因此您不必手动编写复杂逻辑代码,请查看Poll Example以获取参考实现。

如果它与您的方案不匹配,请尝试详细说明您的问题并明确告诉我们您要实现的目标。另请查看其他JMeter PreProcessors,尤其是基于脚本的JSR223 PreProcessor,这样您将获得极大的灵活性