zoukankan      html  css  js  c++  java
  • Jmeter 场景设计

    今天的业务场景是:

    1.管理员登录后台---登录成功后添加一个某类型的产品---产品添加成功后,再为该产品添加10个排期。

    2.管理员登录后台--登录成功后添加多个不同类型产品---产品全部添加完成后,依次为所有产品添加10个排期。

    这是两种不同的场景,下面是两个场景的实现方法:

    场景一:

    1.登录模块,登录模块比较简单,不做记录

    要求登录一次之后,进行其他操作。因此登录模块放到了仅一次控制器中

    2.增加产品

    产品类型分为4中,不同类型对应不同的proTypeId。将4种不同类型的产品ID放到文本文件中。

    产品名字与类型一样,也可以使用读取文件的方式参数化。如果对产品名称没有具体要求的话,直接使用随机字符串的函数生成也是可以的。

    在添加产品的请求中,用函数来一次读取该文件中的参数(效果就是:第一次迭代添加的是A类型的产品,第二次迭代添加的是B类型的产品,依次循环类推)

    该函数在使用时要注意,必须写为:${__CSVRead(C:UsersXXXDesktopproducttype.txt,0)}${__CSVRead(C:UsersXXXDesktopproducttype.txt,next())},这样写的含义是,先读取到第一个值,之后在一次向下读取。如果只写读取下一个的函数是读不到值的

    在请求产品之前,会有一个添加图片的接口。就是我们平时使用的软件中,点击上传图片之后选择图片,此时会获得一个图片的url地址(一般上传图片的都是这样的流程)。这时候是post的图片文件,如果使用抓包软件或者录制,由于是二级制的,得到的都是乱码。所以这里的参数,手动添加一下就可以了。

    再用一个正则把获取到的URL 获取到就可以了。

    这样就完成了添加产品的场景。

    之后需要为该产品添加排期,前提是先找到这个产品的ID。由于产品添加成功后是不会返回ID回来的,所以需要去数据库中获取到这个ID ,需要一个Jdbc请求

    3.增加排期

     这里post的请求中,参数就需要之前数据库中查出来的id了,直接使用即可。

    由于要求每个产品增加10个排期,因此添加循环控制器,设置循环次数为10 就可以了。

    以上就完成了第一个场景的模拟。

    场景二:

    该场景与场景一的不同在于:要产品添加完成之后,再对每个产品添加多个排期。

    前面登录和添加产品的步骤基本是一致的(该场景需要把添加产品的步骤放在循环控制器中),下面直接说添加排期的问题。

    添加排期:前提是获取到所有产品的ID,可以参考上面图中的jdbc request,改一下sql就可以了。

    这时,我们的参数id是这样的:id_1=6994a163-5d29-4fcc-a19b-752f389c76d6,id_2=....等等

    idrs是这样的:idrs=[{Id=8cb7f419-6155-4ed7-847d-d4e6d17c5297}, {Id=908d37cf-d328-4ce1-b08a-76b4012dd911}..等等.]
     
    可以通过idrs获取到我们的Id ,方法为${__BeanShell(vars.getObject("idrs").get(${__counter(false,count)}-1).get("Id"),finalid)}。该方法中下标是用当前迭代总数-1来表示的,会有个缺点,当迭代总数大于我们的参数个数时,就取不到值了。可以自己创建一个参数文件,但是当id炒鸡多时,这样就麻烦了。。。
     
    之后换了实现方式,通过foreach控制器来循环取出id的值就可以了。

    foreach控制器与我们写代码时候的foreach循环含义其实是一样的。依次循环获取到值,并执行foreach里面的sample。foreach里面sample的设置:

     foreach完成一次循环是为每次产品增加了一次排期,需求是增加10个。在foreach的外层再加一个循环控制器即可。

    以上就完成了第二个场景的设计。

    上述2个脚本其实也可以用来准备测试数据,前端要看多个产品的排版显示等,都可以直接执行一下脚本,自动生成测试数据。

    最后设置线程组控制加压就可以了,浪涌式、阶梯式等等

  • 相关阅读:
    MD5 带salt 加密
    生成包含数字和大小写字母的随机码
    多读好代码助于提高
    Winform程序窗体间的跳转
    Sql Server 存储过程
    GDI+的学习
    管理人生的8个危机
    马云语录
    无边框窗体的拖动和拉伸
    安装oracle时遇到 环境变量path的值超过1023字符,无法设置该值
  • 原文地址:https://www.cnblogs.com/shen-qiang/p/9777676.html
Copyright © 2011-2022 走看看