• Jmeter(三)简单的HTTP请求(非录制)


    首先建立一个线程组(Thread Group),为什么所有的请求都要加入线程组这个组件呢?不加不行吗?答案当然是不行的。因为jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。

    clip_image002

    选中线程组(Thread Group),鼠标右键添加HTTP Request。这里不需要cookie管理器(HTTP Cookie Manager),因为这是我们手动添加的请求,不是录制的,但要求不是严格,cookie管理器可加也可不加。

    我这里有2个请求

    [全国]0727测试BD信息快递产品01变更03

    http://p.ftuan.com/mall_quanguo_14448.shtml?s=1000&a=00011033008051010100000000010103

    [海淀学院路]0727测试BD信息F券产品02

    http://p.ftuan.com/xiuxian_haidian_14447.shtml?s=1000&a=00010244004076010100000000110103

    先添加第一个请求,第二个请求我使用参数化URL的方法来进行(试试在path中参数化能不能成功,分析了上面2个请求,域名都是相同的,唯独不同的只有后面的URL)

    clip_image004

    clip_image005

    然后添加聚合报告(Aggregate Report)和查看结果树(View Results Tree)

    完整的脚本结构:

    clip_image006很简洁吧

    保存脚本,然后运行一下,看看我们发过去的请求是否可以得到服务器相应的返回数据。

    第一个请求的URL:

    clip_image008

    发送URL请求后的返回:

    clip_image010

    一切返回正确。

    下面来参数化另外一个页面的URL请求:

    把域名后面的URL放到一个记事本中,另存为URL.txt,存放在D盘根目录

    clip_image012

    选中线程组,在其下面添加配置元件CSV Data Set Config

    参数化的方法在另外一个文档中。

    clip_image013

    然后根据CSV Data Set Config中的变量名称,找到HTTP请求中的path数据

    clip_image014

    修改线程组运行次数,确保这2个URL都要被线程执行到

    clip_image015

    clip_image016运行脚本前,先把前一次运行的结果清空一下

    开始运行脚本

    clip_image018

    clip_image020

    这两个URL都被执行到了,并且结果返回正确,测试可知在http请求的path路径上做参数化是可行的。

    再看一下脚本的结构树:且要记住一点,所有任务都是由线程来执行的,所以所有任务都要分在线程下面,一个脚本个建立多个线程组。

    clip_image021

    Jmeter(二)-使用代理录制脚本

    Jmeter(一)-精简测试脚本

  • 相关阅读:
    MAX导致数据库超时
    mysql查询效率提高技巧
    微信回调报文解析, 获取请求体内容
    炖汤秘方
    首字母小写
    List分页
    HttpServletRequest通过InputStream获取参数
    github命令行
    mysql死锁
    分布式锁-redis
  • 原文地址:https://www.cnblogs.com/zhuque/p/2767766.html
Copyright © 2020-2023  润新知