zoukankan      html  css  js  c++  java
  • jmeter 常见问题一(url重定向)

    刚接触JMeter,想把学习过程中遇到的一些问题,记录下来
    因为是新接触,所以很多东西都在摸索中!

    使用Badboy录制了公司一个项目的登录功能
    导入到JMeter后,执行场景,发现登录校验成功,但后续的动作都未成功;

    通过增加监听器-察看结果树中的:取样器结果、请求、响应数据
    分析后发现,登录校验成功后,跳转页面时,Cookie被重置,导致后续动作都被视为未登录状态;



    看到网上很多人说,需要对HTTP协议的测试脚本,增加:HTTP Cookie管理器,但Badboy录制的脚本,默认已经有了

    继续排查。。。

    因是在登录校验成功后,进行重定向时,Cookie被重置的;
    校验页面的HTTP请求中,有看到一个:自动重定向、跟随重定向的设置;

    怀疑和这个有关系
    修改默认的“自动重定向”为“跟随重定向”
    重新执行场景;

    登录成功,后续请求也都成功;

    OK,解决!

    小结:

    自动重定向:HttpClient接收到请求后,如果请求中包含重定向请求,HttpClient是可以自动跳转的,但是只针对GET和Head请求,勾选此项则“跟随重定向”失效;自动重定向可以自动转向到最终目标页面,但是JMeter是不记录重定向过程内容的,比如在查看结果树中是无法找到重定向过程内容的(A重定向到B,此时只记录B的内容不记录A的内容,A的响应内容我们暂时且叫过程内容),如果此时你想做关联,那就比较遗憾了,你无法关联到。
    跟随重定向:Http Request取样器的默认选项,但响应Code是3XX时(比如301是重定向),自动跳转至目标地址。与自动重定向不同,JMeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,所以你可以对响应的内容做关联
    比如你要测试登录,你把POST请求改为跟随重定向就可以了
  • 相关阅读:
    mysql 权限问题
    触发器作用
    带有循环功能的存储过程
    带有条件判断的存储过程
    数据存储 三大范式-----------待续
    存储过程自 带条件判断的存储过程
    线程异步更新UI
    TextBox只能输入数字
    C#中无边框窗体移动或拖控件移动窗体
    classloader原理
  • 原文地址:https://www.cnblogs.com/hupilan521/p/9118361.html
Copyright © 2011-2022 走看看