zoukankan      html  css  js  c++  java
  • jmeter(3)http sample详解

    一.取样器-HTTP请求

    http之get请求:

    http之post请求:

    Content encoding:一般content encoding配置为utf8;或者iso8859

    是一个实体消息首部,用于对特定媒体类型的数据进行压缩。当这个首部出现的时候,它的值表示消息主体进行了何种方式的内容编码转换。这个消息首部用来告知客户端应该怎样解码才能获取在 Content-Type 中标示的媒体类型内容

    参数Parameters:请求参数,当请求中需要参数时,选择Parameters后点击下方的Add添加一个键值对输入栏,输入相应的Key和Value(也就是Name和Value),如果参数值存在中文,则需要勾选Encode(编码)☑️

    消息体数据Body Data:请求参数

    post请求-参数以name=zhangsan&age=15的格式,添加Context-Type =x-www-form-urlencoded 

    post请求-参数以json格式(需要配置http信息头管理器,添加Context-Type = application/json)

     参考另一篇文章,根据不同Context-Type来填写参数


    
    

    jmeter自动重定向与跟随重定向区别:

    自动重定向:HttpClient接收到请求后,如果请求中包含重定向请求,HttpClient是可以自动跳转的,但是只针对GET和Head请求,勾选此项则“跟随重定向”失效;自动重定向可以自动转向到最终目标页面,但是JMeter是不记录重定向过程内容的,比如在查看结果树中是无法找到重定向过程内容的(A重定向到B,此时只记录B的内容不记录A的内容,A的响应内容我们暂时且叫过程内容),如果此时你想做关联,那就比较遗憾了,你无法关联到。

    跟随重定向:Http Request取样器的默认选项,但响应Code是3XX时(比如301是重定向),自动跳转至目标地址。与自动重定向不同,JMeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,所以你可以对响应的内容做关联比如你要测试登录,你把POST请求改为跟随重定向就可以了。
    参考博客:https://www.cnblogs.com/yaohanbaby/p/7744214.html感谢博主!

    使用KeepAlive:当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。

    支持的长链接形式:就是http协议基于tcp协议进行工作,http请求每一次发送请求的时候都要先使用tcp协议三次握手。如果你不使用keepalive,每一次发送请求的时候都需要通过tcp进行建立链接。如果勾选,就可以省去每一次请求的时候建立tcp的过程。但是http请求是无状态的长链接,每一次请求都是一种独立的。没有流程性的,比如用户购买一件商品,不需要走流程,比如再登录-----,http请求就是每一个接口都可以进行独立的调用。

    高级设置:

    Client implementation

    实现:发送http请求的方式,可选项为java和HttpClient4,默认为HttpClient4;

    超时(毫秒):Timeouts(milliseconds)

    连接:连接超时时间,单位为毫秒;
    响应:响应等待超时时间,单位为毫秒;

    从HTML文件嵌入资源:

    从HTML文件获取所有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行解析 并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。
    Parallel downloads:是否使用自设资源池,勾选后可设置大小;
    Number:资源池大小,默认为6。
    URLs must match:URL匹配过滤,填写此项则只会下载与此内容项匹配的url的资源,例如要获取http://example.com/下的所有资源,使用正则表达式http://example.com/.*;

    源地址:只用于http协议且Implementation为HttpClient4的情况。 

    此属性用于启用IP欺骗。会重写了这个http请求使用的默认本地IP地址。用于Jmeter主机具有多个IP地址(即IP别名、网络接口、设备)的情况。该值可以是主机名、IP地址或网络接口设备,如“ey0”或“l0”或“wlan0”。
    - IP/Hostname:IP /主机名以使用特定的IP地址或(本地)主机名
    - Device:选择设备以选择该接口的第一个可用地址,该设备可以是IPv4或IPv6。
    - Device IPV4:选择IPv4设备来选择名称设备的IPv4地址(如eth0, lo, em0);
    - Device IPV6:选择IPv6设备来选择名称设备的IPv4地址(如eth0, lo, em0);

    Proxy Server(比如不想用本机的地址来发送Http请求而想使用代理服务器则填写这部分)

    服务器名称或IP:代理服务器的名称或者IP地址;
    端口号:该代理的端口号;
    用户名:使用该代理的用户名;
    密码:用户密码;

    其他任务

    Save response as MD5 hash:选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销;
    参考博文:https://blog.csdn.net/df0128/article/details/80496211 感谢博主!

    调试取样器:是我们在开发脚本的时候调试用的。添加调试取样器后在察看结果树中能看到我们在脚本中所有参数化变量所取的值,可以帮助我们快速判断脚本的对错。运行之后,查看结果树可以查看调试取样器的响应结果,可以看到我们在脚本中参数化变量的取值。
  • 相关阅读:
    UML常见工具之Powerdesigner
    在webForm中WebRequest\WebClient\WebBrowser获取远程页面源码的三种方式(downmoon)
    忍不住了,我来说两句,从一道面试题说起
    《UML用户指南第二版》再次温读笔记(一)(downmoon)
    Database Project requires local SQL 2005 instance的解决方案(downmoon)
    JDBC Driver For SQL2000/2005/2008
    服务器更新dll后导致网站崩溃,重启iis也无效的一种解决方案(downmoon)
    白孩儿一个网上流传的故事[生活感悟]
    vs2008中js的语法提示及修正功能(downmoonn)
    Contoso 大学 2 – 实现基本的增删改查
  • 原文地址:https://www.cnblogs.com/yiyaxuan/p/12253113.html
Copyright © 2011-2022 走看看