Jmeter 场景设计
今天的业务场景是:
1.管理员登录后台---登录成功后添加一个某类型的产品---产品添加成功后,再为该产品添加10个排期。
2.管理员登录后台--登录成功后添加多个不同类型产品---产品全部添加完成后,依次为所有产品添加10个排期。
这是两种不同的场景,下面是两个场景的实现方法:
场景一:
1.登录模块,登录模块比较简单,不做记录
要求登录一次之后,进行其他操作。因此登录模块放到了仅一次控制器中
2.增加产品
产品类型分为4中,不同类型对应不同的proTypeId。将4种不同类型的产品ID放到文本文件中。
产品名字与类型一样,也可以使用读取文件的方式参数化。如果对产品名称没有具体要求的话,直接使用随机字符串的函数生成也是可以的。
在添加产品的请求中,用函数来一次读取该文件中的参数(效果就是:第一次迭代添加的是A类型的产品,第二次迭代添加的是B类型的产品,依次循环类推)

该函数在使用时要注意,必须写为:${__CSVRead(C:\Users\XXX\Desktop\producttype.txt,0)}${__CSVRead(C:\Users\XXX\Desktop\producttype.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=....等等

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

foreach完成一次循环是为每次产品增加了一次排期,需求是增加10个。在foreach的外层再加一个循环控制器即可。
以上就完成了第二个场景的设计。
上述2个脚本其实也可以用来准备测试数据,前端要看多个产品的排版显示等,都可以直接执行一下脚本,自动生成测试数据。
最后设置线程组控制加压就可以了,浪涌式、阶梯式等等
Jmeter 场景设计的更多相关文章
- jmeter场景设计实战(一)
需求:2000用户在线,100用户并发访问首页. 和开发沟通了解了具体的需求:2000用户是在线登录状态,这2000用户中要达到100用户并发去访问首页,在这个过程中可能会有停留时间,并不是用户登录之 ...
- 使用jmeter做简单的场景设计
使用jmeter做简单的场景设计 Jmeter: Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试.我之所以选择它,最重要的一点就是----开源 个人 ...
- 【性能测试实战:jmeter+k8s+微服务+skywalking+efk】系列之:性能测试场景设计
说明: 本文是基于虚拟机环境配置设计的 性能测试需求 总tps≥100 每个业务的rt<500ms 持续稳定跑50万业务量 单场景 目的:找到单场景的性能问题,为容量场景提供参考,如果低于容量场 ...
- Jmeter场景设置与监听
目录 Jmeter场景设置 场景运行 Jmeter测试监控 Samples:取样器运行次数(提交了多少笔业务). Jmeter场景设置 场景的概念: 场景是用来尽量真实模拟用户操作的工作单元,场景设计 ...
- LoadRunner脚本设计、场景设计和结果分析
本次笔记主要记录LoadRunner脚本设计.场景设计和结果分析 1. 脚本设计 录制模式 手工模式:插入步骤.手动编写 1.1 脚本增强: ...
- 【Loadrunner】初学Loadrunner——场景设计
在使用Loadrunner的时候,常常需要使用到场景设计.但是怎么设计一个满意的场景?如何开展? 首先可以点击tools > Create Controller Scenario > OK ...
- lr_场景设计之知识点-集合点、loadgenerator
1.controller原理 通过场景设计来模拟用户的真实操作并调用bugen中的脚本,再通过设置的压力机产生压力,在场景运行中实时监控用户的执行情况,tps,响应时间,吞吐量,服务器资源使用情况: ...
- vue移动端金融UI组件库滴滴MandMobile面向金融场景设计附功能思维导图
vue移动端金融UI组件库滴滴MandMobile面向金融场景设计附功能思维导图 Mand Mobile是面向金融场景设计的移动端组件库,基于Vue.js实现.目前已实际应用于滴滴四大金融业务板块的1 ...
- loadrunner 场景设计-学习笔记之性能误区
场景设计-学习笔记之性能误区 by:授客 QQ:1033553122 场景假设: 每个事务仅包含一次请求,执行10000个并发用户数 性能误区: 每秒并发用户数=每秒向服务器提交请求数 详细解答: 每 ...
随机推荐
- 【JavaScript 封装库】BETA 4.0 测试版发布!
/* 源码作者: 石不易(Louis Shi) 联系方式: http://www.shibuyi.net =============================================== ...
- Linux MySQL单实例源码编译安装5.6
cmake软件 tar -zxvf cmake-2.8.11.2.tar.gz cd cmake-2.8.11.2 ./bootstrap make make install cd ../ 依赖包 ...
- Codeforces Codeforces Round #383 (Div. 2) E (DFS染色)
题目链接:http://codeforces.com/contest/742/problem/E 题意: 有一个环形的桌子,一共有n对情侣,2n个人,一共有两种菜. 现在让你输出一种方案,满足以下要求 ...
- HTTP 下载文件工具类
ResponseUtils.java package javax.utils; import java.io.ByteArrayInputStream; import java.io.File; im ...
- jQuery实现轮播切换以及将其封装成插件(2)
在上一篇博文中,我们完成了一个简单的轮播切换.它的功能比较简单,仅仅能定时切换图片. 但是有没有这样一种情况.当我们特意的想看某一个轮播显示项时不希望等轮播一圈才能等到,希望通过图上的一些元素,触发某 ...
- Swiper插件
中文官网:Swiper中文网 英文:英文网 此插件功能比较强大,网页端.手机端都可以使用的插件.这里记录一下在微信h5页面里面滑动获取数据. 先下载css和js,引用到项目中 这里有6个节点,没划一个 ...
- 【思维题 细节】loj#6042. 「雅礼集训 2017 Day7」跳蚤王国的宰相
挂于±1的细节…… 题目描述 跳蚤王国爆发了一场动乱,国王在镇压动乱的同时,需要在跳蚤国地方钦定一个人来做宰相. 由于当时形势的复杂性,很多跳蚤都并不想去做一个傀儡宰相,带着宰相的帽子,最后还冒着被打 ...
- Linq to SQL八大子句
查询数据库中的数据 from- in子句 指定查询操作的数据源和范围变量 select子句 指定查询结果的类型和表现形式 where子句 筛选元素的逻辑条件,一般由逻辑运算符组成 group- by子 ...
- 学习python第十三天,函数5 装饰器decorator
定义:装饰器本质是函数,(装饰其他函数)就是为其他函数添加附加功能原则:1.不能修改被装饰的函数的源代码 2.不能修改装饰的函数的调用方式 实现装饰器知识储备1函数即变量2.高阶函数,满足2个条件之一 ...
- python flask学习第2天 URL中两种方式传参
新创建项目 自己写个url映射到自定义的视图函数 在url中传递参数 app.py from flask import Flask app = Flask(__name__) @app.route ...