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=....等等

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

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

 

转载于:https://www.cnblogs.com/clairejing/p/7886099.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android IPC机制(五)用Socket实现跨进程聊天程序

1.Socket简介 Socket也称作“套接字“,是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信。它分为流式套接字和数据包套接字,分别对应网络传输控制层的TCP和UDP协议。TCP协…

java获取byte 长度_java获取字节的长度.

我们经常要获取中文,数字,或者英文字符所占字节的长度,下面就列出各种编码格式下所占字节的长度:代码如下:package pack.java.midea.dao;import java.io.UnsupportedEncodingException;/*** 测试;* author zhouhaitao* 2012-5-17*/public class Test {/*** param args* throws …

Batoo JPA –比领先的JPA提供商快15倍

介绍 我早在2000年代就喜欢JPA 1.0。 我甚至在稳定版本发布之前就将其与EJB 3.0一起使用。 我非常喜欢它,因此我为JBoss 3.x实现贡献了一些零碎的部分。 那时我们公司规模还很小。 创建新功能和应用程序比性能更重要,因为我们有很多想法,我…

python软件是哪个国家的品牌_有哪些好用的软件被国人误认为是外国研发的?

国产软件被标榜上了英文,即便不是英文,用拼音写出来,也会有人误认为是国外的软件。因为这样可以显得高大上,为什么我们会有这样的想法,是崇洋媚外吗,并不是,而是之前的国产软件的确有不少让我们…

postgres 支持的线程数_线程池被打满了怎么处理呢,你是否真的了解线程池?

0、前言线程池,顾名思义就是线程的池子,在每次需要取线程去执行任务的时候,没必要每次都创建新线程执行,线程池就是起着维护线程的作用,当有任务的时候就取出一个线程执行,如果任务执行完成则把线程放回到池…

[树形DP]没有上司的舞会

题目链接 思考 首先本题中的关系是一种树形结构,而且符号最优子结构和无后效性,所以可以进行记忆化搜索。 那么首先要在这颗树中选出一个点作为根节点,按照习惯我们将没有父节点的点作为根节点。 接下来要思考的是 状态: dp[i][0…

mybatis通用mapper_全网最全Mapper解析,附实操代码帮你更好理解

今天给大家介绍一位老朋友当你第一次接触Java开发的时候,这个老朋友就和你形影不离,当你要进行ORM的时候,单表的增删改查,这位老朋友给了你极大的帮助,不知道你想到他了吗?对,这就是通用mapper&…

初尝微信小程序2-基本框架

基本框架: .wxml :页面骨架 .wxss :页面样式 .js :页面逻辑 描述一些行为 .json :页面配置 创建一个小程序之后,app.js,app.json,app.wxss是必须的,而且名字也不能随意更改,…

洛谷 P1795 无穷的序列_NOI导刊2010提高(05)

P1795 无穷的序列_NOI导刊2010提高(05) 题目描述 有一个无穷序列如下: 110100100010000100000… 请你找出这个无穷序列中指定位置上的数字 输入输出格式 输入格式:第一行一个正整数N,表示询问次数; 接下来的…

此服务器的时钟与主域控制器的时钟不一致_中移动“超高精度时间同步服务器”开标,两家中标...

8月25日,中国移动发布《2020年至2022年同步网设备集中采购_中标候选人公示》公告。两家中标。同步网技术比较小众,但是同步网是5G承载网的重要一环,分享一下,供大家参考。中标情况 标包1-时钟同步设备中标候选人依次排序为&#x…

java 异常管理员_GitHub - kangZan/JCatch: Exception异常管理平台,支持Java、PHP、Python等多种语言...

什么是JCatch当程序发生异常(Exception),处理方式一般是通过日志文件记录下来,这种方式很容易被忽略,而且查询起来比较麻烦。JCatch提供了一种方案,当程序发生异常时,通过JCatch平台接口提交到JCatch平台,由…

oled

gnd、vcc、clk、miso、rst、mosi、cs 转载于:https://www.cnblogs.com/scrazy/p/7892733.html

使用html css js实现计算器

使用html css js实现计算器&#xff0c;开启你的计算之旅吧 效果图&#xff1a; 代码如下&#xff0c;复制即可使用&#xff1a; <!DOCTYPE html><html lang"en"> <head> <meta charset"utf-8"> <style> /* 主体 */ .co…

面向对象的三个基本特征

面向对象的三个基本特征是&#xff1a;封装、继承、多态。封装 封装最好理解了。封装是面向对象的特征之一&#xff0c;是对象和类概念的主要特性。封装&#xff0c;也就是把客观事物封装成抽象的类&#xff0c;并且类可以把自己的数据和方法只让可信的类或者对象操作&#xff…

java学习文档_资深程序员带你深入了解JAVA知识点,实战篇,PDF文档

JAVA 集合JAVA 集合面对浩瀚的网络学习资源&#xff0c;您是否为很难找到适合自己的学习资源而感到苦恼过&#xff1f;那么&#xff0c;您来对地方了。在这里我们帮助大家整理了一份适于轻松学习 Java 文章的清单。JVM文字太多&#xff0c;不便之处敬请谅解JAVA 集合文字太多&a…

java程序员电影_Java程序员必看电影:Java 4-ever

(Scene: A father and his son playing "throw-and-catch")(场景: 一位父亲和儿子玩丢接球游戏)Narrator: They appear to be a perfect family旁白: 他们看起来像是一个完美的家庭(Scene: bedtime story)(场景: 床边故事)Father: Export all OLE objects with the c…

深入理解softmax函数

Softmax回归模型&#xff0c;该模型是logistic回归模型在多分类问题上的推广&#xff0c;在多分类问题中&#xff0c;类标签 可以取两个以上的值。Softmax模型可以用来给不同的对象分配概率。即使在之后&#xff0c;我们训练更加精细的模型时&#xff0c;最后一步也需要用soft…

strcpy函数_错误更正(拷贝赋值函数的正确使用姿势)

这是一篇对什么是C的The Rule of Three的错误更正和详细说明。阅读时间7分钟。难度⭐⭐⭐虽然上一篇文章的阅读量只有凄惨的两位数&#xff0c;但是怀着对小伙伴负责的目的&#xff0c;必须保证代码的正确性。这是大厨做技术自媒体的态度。前文最后一段代码是这样的&#xff1a…

Spring Batch中面向TaskletStep的处理

许多企业应用程序需要批处理才能每天处理数十亿笔交易。 必须处理这些大事务集&#xff0c;而不会出现性能问题。 Spring Batch是一个轻量级且强大的批处理框架&#xff0c;用于处理这些大数据集。 Spring Batch提供了“面向TaskletStep”和“面向块”的处理风格。 在本文中&a…

布局中常见的居中问题

说到布局除了浮动以及定位外还有一个不得不提的点&#xff0c;那就是居中&#xff0c;居中问题我们在网页布局当中经常遇到&#xff0c;那么以下就是分为两部分来讲&#xff0c;一部分是传统的居中&#xff0c;另一种则是flex居中&#xff0c;每个部分又通过分为水平垂直居中来…