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个脚本其实也可以用来准备测试数据,前端要看多个产品的排版显示等,都可以直接执行一下脚本,自动生成测试数据。

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

  • 相关阅读:
    win10 UWP button
    内网分享资源
    内网分享资源
    CF724F Uniformly Branched Trees
    win10 UWP FlipView
    win10 UWP FlipView
    win10 UWP FlipView
    搭建阿里云 centos mysql tomcat jdk
    搭建阿里云 centos mysql tomcat jdk
    win10 UWP 申请微软开发者
  • 原文地址:https://www.cnblogs.com/shen-qiang/p/9777676.html
Copyright © 2011-2022 走看看