线程组按顺序来执行,大概思路,

1.需要控制线程组内的操作在满足某一条件才执行,那么就需要使用if或者while;

2.要使用if或者while都需要一个变量,而这个变量要在两个或多个线程组内使用,那么if使用变量就需要是全局变量,while使用的变量就需要是局部变量;

(PS:在测试计划中有个选项“独立运行每个线程组”的选项勾选上,在线程组中设置延迟启动秒数也可达到效果,有个缺点每次都要修改线程组的启动、结束时间、不可控)

那么第一顺序执行线程组的配件,最少需要有2个BeanShell Sampler和一个If Controller;

第二顺序以及之后顺序的线程组的配件,最少需要2个BeanShell Sampler、一个If Controller和一个While Controller;

第一顺序执行线程组---------------------

首先使用BeanShell Sampler给全局变量赋予初始值${__setProperty(newswitch,1,)};;

然后使用If Controller作为操作的父类,条件为"${__P(newswitch,)}"=="1";

最后使用BeanShell Sampler(父类线程组)给全局变量赋值${__setProperty(newswitch,2,)};,下一个顺序执行线程组的If  Controller条件;

第二或N顺序执行线程组---------------------

1.使用BeanShell Sampler(父类线程组),定义一个局部变量vars.put("whileswitch","1");

2.使用While Controller作为If Controller的父类,条件为${__javaScript("${__P(whileswitch,)}"!="0")} ;

3.使用If Controller作为操作的父类,条件为"${__P(newswitch,)}"=="2";(值根据第几个顺序而变化,第二个是2,第三个是3。。。)

4.在If Controller下建立子类BeanShell Sampler给局部变量赋值vars.put("whileswitch","0");,结束While Controller;给全局变量赋值${__setProperty(newswitch,3,)};,下一个顺序执行线程组的If  Controller条件,如果没有下一个顺序执行线程组给全局变量赋予初始值${__setProperty(newswitch,1,)};。

PS:这个方法有个缺点,结束最后一个线程有点慢

Jmeter-线程组执行顺序控制的更多相关文章

  1. Jmeter 同一个测试计划下的多个线程组 执行顺序 希望调整为顺序执行

    用Jmeter做自动化测试,一个测试计划中添加多个线程组, 每个线程组的功能测试,希望是一个线程组执行完毕后,接着执行下一个线程组下的请求 Jmeter默认多个线程组之间是并行关系 需要在测试计划下勾 ...

  2. jmeter的线程组执行顺序不以其出现的顺序发生变化

    jmeter可以同时配置多个线程组,那么他们的执行顺序是什么呢?和他们出现的顺序有什么关系呢? 先说下几个特殊的线程组:tearDown线程组和setUp线程组,tearDown线程组一定在最后执行, ...

  3. jmeter线程组基本设置

    线程组基本设置 在线程组界面中可以设置以下数据,进行控制线程组: 1.取样器错误后要执行的动作: 继续:忽略错误,继续执行 Start Next Thread Loop: 忽略错误,线程当前循环终止, ...

  4. JMeter线程组编辑区揭秘

    线程组编辑区如下: 有点复杂,但是慢慢看下来,还是比较容易理解. Name 带有业务含义的名字. Comments 线程组的备注说明. Action to be taken after a Sampl ...

  5. 【转】关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家 ...

  6. 关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家 ...

  7. jmeter线程组介绍

    Jmeter中的测试计划是一直有的,但可以在右侧修改名字,要开始做具体测试设计前,都需要在测试计划下边添加一个线程组,添加路径为鼠标捕获测试计划后,点击鼠标右键->添加->Threads( ...

  8. Jmeter线程组间传递参数

    现在做测试和以前不太一样了,以前只要站在一个用户的角度做端到端的UI测试就可以了,现在不会做接口测试,出去都不好意思和别人打招呼.那提到接口测试,就不得不提一下接口测试利器Jmeter,大家也都知道, ...

  9. Jmeter线程组设置

    添加线程组:右键测试计划->添加->Threads->线程组 左侧树形标签栏中,显示标签信息. 选中线程组,右侧内容栏中显示线程组的相关信息. 名称:可以给线程组设置一个个性化的命名 ...

  10. jmeter线程组之间传递参数

    JMeter 变量作用域局限于所属线程.这样设计是经过深思熟虑的,目的是让测试线程能够独立运转.有时候用户可能需要在不同线程间(可能属于同一个线程组,也可能不属于同一个线程组)传递变量. 其中一种方法 ...

随机推荐

  1. 3.8 Templates -- Actions

    一.The {{action}} Helper 你的应用程序通常会需要一种方法来让用户用控件交互改变应用程序状态. 例如,你有一个显示blog post的模板,并支持用额外的信息扩展post. 可以使 ...

  2. 一次org.springframework.jdbc.BadSqlGrammarException ### Error querying database Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException问题排查过程

    先说结论: 因为在表设计中有一个商品描述字段被设置为desc,但desc是mysql中的关键字,如select id,name,desc,price from product;这条sql语句在查询时的 ...

  3. poj1981 Circle and Points

    地址:http://poj.org/problem?id=1981 题目: Circle and Points Time Limit: 5000MS   Memory Limit: 30000K To ...

  4. scp命令简单应用

    实例1:从远处复制文件到本地目录 $scp root@10.6.159.147:/opt/soft/demo.tar /opt/soft/ 说明: 从10.6.159.147机器上的/opt/soft ...

  5. 常用php操作redis命令整理(四)SET类型

    SADD 将一个或多个member元素加入到集合key当中.(从左侧插入,最后插入的元素在0位置),集合中已经存在TK 则返回false,不存在添加成功 返回true <?php var_dum ...

  6. Java实现:数据结构之排序

    Java实现:数据结构之排序 0.概述 形式化定义:假设有n个记录的序列(待排序列)为{ R1, R2 , -, Rn },其相应的关键字序列为 { K1, K2, -, Kn }.找到{1,2, - ...

  7. 20145221 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145221 <Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDEA) 实验要求 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调 ...

  8. hdu_2048 错排问题

    错排问题本质上就是一个动态规划问题,其状态转移方程为: 记d[n]为n个人错排情况的总数. 那么策略可以描述为:分析第n个人错排的可能情况: 1)前n-1个人满足错排的情况,那么第n个人加入后还要错排 ...

  9. Jenkins报错Error cloning remote repo 'origin'

    Jenkins控制台输出报错 输出ERROR: Error cloning remote repo 'origin' 这行报错只能说明是git有问题,其他没什么有用的信息. 浏览器中Ctrl+F查找E ...

  10. 解决:Android 8.0检测不到当前的activity

    前两天从Android 7.0升级到Android 8.0,今天在用 adb shell dumpsys activity | findstr "mFocusedActivity" ...