Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JMeter自动注销脚本_Jmeter - Fatal编程技术网

使用JMeter自动注销脚本

使用JMeter自动注销脚本,jmeter,Jmeter,我正在尝试自动测试web应用程序。 我已经使用JMeter代理模板(JMeter版本为3.2)记录了测试,并且有几次在JMeter中运行测试时,测试运行正常,但过了一段时间后,只有一些部分正常运行 以下是我正在执行的步骤: 点击网址 登录到应用程序 更改应用程序中的某些功能 等等 所有步骤最初几次都运行得很好,但之后只有在登录时才能正常运行。 为了确保这一点,我尝试使用正则“表达式提取器”将jsessionid从第一个请求传递到下一个请求。我可以在ViewResults树中看到jsessioni

我正在尝试自动测试web应用程序。
我已经使用JMeter代理模板(JMeter版本为3.2)记录了测试,并且有几次在JMeter中运行测试时,测试运行正常,但过了一段时间后,只有一些部分正常运行

以下是我正在执行的步骤:

  • 点击网址

  • 登录到应用程序

  • 更改应用程序中的某些功能

  • 等等

    所有步骤最初几次都运行得很好,但之后只有在登录时才能正常运行。
    为了确保这一点,我尝试使用正则“表达式提取器”将jsessionid从第一个请求传递到下一个请求。我可以在ViewResults树中看到jsessionid已正确传递,但第二步后的下一页仍然将我带到登录屏幕

    非常感谢您的帮助。
    为了更好地理解,我附上了截图:

    登录页面的响应标头包含一个sessionid,登录时另一个请求使用该ID。

    登录到下一页后,所有sessionID都会正确地保持静止,这会将我带到登录页,而不是显示录制中的下一步操作。

    当涉及到的负载测试时,您至少需要注意以下动态参数:

  • JSESSIONID
    是正常的,因此添加一个来处理它就足够了

    javax.faces.Viewstate
    是一种客户端状态管理机制,它还充当验证用户来源的安全令牌。因此,您需要正确地使用它,即使用其中一个从以前的响应中提取,存储到JMeter变量中,并将其作为参数添加到下一个请求中。记住对每个请求都要这样做


    可能有更多特定于应用程序的动态参数,检测它们的最简单方法是记录相同的请求(或场景)2次,比较记录的脚本,检测并解决差异

    非常感谢您为每个请求使用javax.faces.ViewState