Jmeter(三)Test-Plan、Thread-Group
思量再三,还是再记一会,看到技术群里边的讨论,真的是压力山大,学习一刻也不能耽搁。继续来回顾Jmeter的知识吧。
Test-Plan,是所有Jmeter脚本的根节点,Test-Plan中包含名称、注释。。。(一大堆,只谈主要功能)
用户自定义变量:看图中的表格便可以看出,用户自定义变量是Key-Value格式,用于下方线程组的引用
独立运行每个线程组(例如在一个组运行结束后启动下一个)(不用再做过多解释)
Run tearDown Thread Groups after shutdown of main threads: 运行完TearDown线程组关闭整个线程
函数测试模式:(图中有)
Add directory or jar to classpath :引入外部Jar包,以供下方线程组进行使用
Thread Group:
线程组是仅次于测试计划的节点,每个请求是基于线程组建立起来的。
action to be token after a sampler error:
continue(默认):在当前线程中,其中一个sampler错误,继续执行下一个sampler,脚本继续执行。
start next thread loop(启动下一个线程循环):demo:一个线程里有三个接口,执行到第二个接口遇到错误,就不执行第三个接口了,直接跳到下一个线程组循环
stop thread:停止线程。有Sampler出现错误,则触发stop thread,在当前Sampler错误处停止运行(循环停止);直到其他线程执行结束完毕。
stop test:停止测试。有Sampler执行有错误,则当前正在执行的Sampler执行完毕后停止测试;还没有执行的Sampler不执行(类似于软停止)
stop test now(立即停止测试):立即停止。当一个Sampler执行出现错误,触发stop test now,则所有的测试工作立即停止执行(类似于硬停止),有正在执行的Sampler,立即停止;还没有执行的Sampler不执行。
(线程组此处的各个属性配置类似于自动化脚本中的容错控制,相对人性化)
线程数:需要启动的线程数量
ramp-up period(in second):每个线程启动的延迟时间;例如:设置为1100个线程,表示系统将在1S结束前启动设置的100个线程;如果有30个线程和120秒的斜坡上升时间,则每个连续的线程将被延迟4秒(摘自官方文档)。(个人理解)例如线程数10,ramp-up period是5s,循环2次,那么意思就是1s会执行2个线程*2次循环,1s并发四次请求
循环次数
delay thread creation until needed(延迟线程创建直到需要):默认不勾选,测试开始的时候,所有线程就被创建完。勾选了此选项,那么线程只会在合适的需要用到的时候创建。
调度器:定时启动,定时结束;与下方的时间输入框结合(当测试开始时,JMeter将在必要时进行等待,直到达到开始时间。在每个周期结束时,JMeter检查是否已经达到结束时间,如果是,则停止运行,否则允许测试继续,直到达到迭代限制。)
OK,测试计划和线程组便记在这儿吧。有需要的再回来补充