zoukankan      html  css  js  c++  java
  • JMeter 执行post请求

    1、下载JMeter并解压
    2、JMeter配置环境变量,并启动JMeter,使JMeter能够正常运行
    3、在测试计划下面添加线程组,路径:测试计划——添加——线程——线程组
    添加线程组成功过后,线程组里面的参数可以使用默认值,不用进行变更;
    线程数:1 ,理解为模拟一个用户
    Ramp-Up时间(秒):1,理解为在1秒钟内启动所有的线程数1
    循环次数:1,理解为该线程只执行一次,勾选永远则一直执行,直到手动停止线程的运行
    调度器:适用于压力测试时设置压力测试的持续时长,保存默认即可
    4、在线程组下面添加HTTP请求,路径:线程组——添加——取样器——HTTP请求
    在HTTP请求里面填写接口对应的参数
    协议:如果请求是HTTP的则默认为空即可,若为HTTPS则填写:https
    服务器名称或IP:请求接口所在服务器地址,列如:www.baidu.com 或者 127.0.0.1
    端口号:指定了端口号则需要填写,未指定默认为空即可,http默认端口为80,https默认端口为443,一般情况下http请求时,端口可默认为空
    方法:接口的请求方法,get、post、head、put等,根据接口文档要求进行填写
    路径:接口请求路径,写法:”/servlet/json“ ,注意第一个斜杠不可缺少
    内容编码:默认为空即可
    自动重定向、跟随重定向、使用KeepAlive、对POST使用multipart/form-data、与浏览器兼容的头:保持默认值即可
    参数--名称:填写接口参数的参数名
    参数--值:填写接口参数的参数值
    参数--编码:默认为空,如果参数值里面包含特殊字符(¥%……_)需要勾选编码
    参数--内容类型:保持默认值即可
    参数--包含等于:保持默认值即可
    消息体数据:消息体数据与参数为互斥关系,只能使用其中一个类型,消息体数据通常使用json格式的数据作为参数。
    文件上传:根据接口实际情况考虑是否使用,本示例接口不适用文件上传内容,该内容下的所有值保持为空即可
    5、添加察看结果树,用于查看接口请求返回值,路径:线程组——添加——监听器——察看结果树
    6、点击执行按钮,对接口进行请求并查看请求结果
    在执行请求之前JMeter会要求你先保存JMeter脚本,可以选择保存也可以选择不保存,点击否则直接执行请求
    请求结果默认展示text格式的数据,可以通过下拉选择json格式的数据以便于观察
    查看请求数据是否满足接口文档的要求,正确的返回接口要求参数
    7、增加HTTP请求默认值、用户定义的变量元件,多元化post请求
    在实际编写JMeter接口脚本的过程中,会出现多个接口,在调试接口的过程中,会出现大量重复的工作,例如修改参数值,调节参数信息等
    如何将这些重复的工作尽量的缩减来提高工作效率,这种情况下我们可以考虑将接口重复的内容提取出来,并添加到HTTP请求默认值、用户定义的变量中,并对这些内容进行引用,达到一处修改数据多处可以同时使用的目的
    如上图,请求1、2、3、4 除了参数eno 的参数值不一样外,其他的值均相同,那么我们可以将【服务器名称或IP】移动到配置元件【HTTP请求默认值】里面
    8、添加http请求默认值,对请求默认值进行统一管理
    添加路径:线程组——添加——配置元件——HTTP请求默认值
    元件【HTTP请求默认值】与元件【HTTP请求】之间的执行优先级是:如果HTTP请求里面填写了IP、端口、等参数,则使用HTTP请求里面的参数进行接口请求;如果HTTP请求里面没有这些参数,则使用HTTP请求默认值里面的参数进行接口请求。即【http请求】优先级高于【http请求默认值】的执行
    9、添加用户定义的变量,对接口的参数的变量值进行统一管理
    添加路径:线程组——添加——配置元件——用户定义的变量
    在实际测试的过程中,我们的接口参数可能会进行不停的变动来满足不同的业务场景,那这种情况下如果在每个HTTP请求里面去修改数据,就会使工作变的很繁琐,效率较低。
    我们可以通过将所有的参数放到配置元件【用户定义的变量】里面,【HTTP请求】配置元件再去引用【用户定义的变量】元件设置的变量,达到对变量进行统一管理的结果,那么我们就可以通过设置一个地方的变量,来修改整个脚本的数据的目的。
    【用户定义的变量】与【HTTP请求】的优先级关系是,优先执行【HTTP请求】里面的参数。
      
    JMeter使用是比较灵活,较好的利用各个元件,让各个元件各司其职,可以提高工作效率,减少重复的工作量。

  • 相关阅读:
    c++和java(c#)之间的pk
    C语言中.h和.c文件解析
    怎样花两年时间去面试一个人
    进程调度算法模拟
    1079 中国剩余定理
    Educational Codeforces Round 50 (ABCD)
    解决Android Studio默认AppTheme 没有lable标签,不显示等问题
    Codeforces Round #508(ABCD)
    牛客OI赛制测试赛2
    deepin关机卡在图标界面 mysql Community...10min
  • 原文地址:https://www.cnblogs.com/haoBo956/p/14721310.html
Copyright © 2011-2022 走看看