jmetercsv参数化_性能测试之Jmeter中如何设置参数化数据
参数化配置
jmeter中进⾏参数化设置,右击测试计划或者线程组,add->config element->CSV Data Set Config
Allow quoted data
含义是是否允许带引号的数据,有两个选择true和false,false的意思是如果数据中包含引号,会进⾏URL编码," 会转换为%22这种形式,true的意思就是允许带引号,不会进⾏编码处理
Recycle on EOF
含义是没有参数的时候是否循环使⽤,有三个选项
1. true 指在没有参数的时候循环使⽤
2. false 指在没有参数的时候不进⾏循环使⽤
3. edit 指在没有参数的时候根据定义的内容来调⽤函数或变量
Stop thread on EOF
含义是没有参数的时候是否停⽌线程,有三个选项
1. true 指在没有参数的时候停⽌
2. false 指在没有参数的时候不停⽌
3. edit 指在没有参数的时候根据定义的内容来调⽤函数或变量,函数或者变量可能返回true或者false
Sharing mode
含义是值参数的⽣效范围,有四个选项
1. All threads: 参数在所有线程中⽣效
2. Current Thread Group: 参数在当前线程组中⽣效
recycle是什么意思
3. Current Thread:参数在当前线程中⽣效
4. Edit:这⾥的edit和上⾯的edit并不⼀样,前⾯的是输⼊函数或者某个参数的引⽤,交由别⼈来处理,⽽这⾥是输⼊⾃⼰的处理⽅式,
加⼊现在有5个线程组,分别是Thread Group 1-5,但是呢我们只想让线程组1,2,4使⽤参数,3和5不使⽤,这个时候就可以设置SharedWithThreadGroup1and3and5,⽽其他线程组在单独设置参数化⽂件
上⾯这三个参数Recycle on EOF、Stop thread on EOF、Sharing mode都有多种选项,那就存在多种组合关系。所以需要明⽩组合之间的逻辑关系,判断出那些组合是否可⽤,是否符合逻辑,以此帮助们制定出更加合理更叫有效的数据组合规则。
举个组合的例⼦,设置Recycle on EOF 为false, Stop thread on EOF 为false,Sharing mode为 All threads,这个组合显然是有问题的,因为设置了没有参数时停⽌循环,⼜设置了没有参数时不停⽌线程,那肯定是不可能的么,没有参数了线程不停肯定会出现参数不存在等错误。如果设置Recycle on EOF 为false, Stop thread on EOF 为true 就是⽐较合情理的。
Recycle on EOF的优先级⾼于Stop thread on EOF,也就是说,需要先判断Recycle on EOF,如果是Flase,直接在⽂件结束时就停⽌了线程,根本不考虑Stop thread on EOF参数值;如果是True,就要根据Stop thread on EOF参数值来确定线程是否停⽌运⾏。在明⽩组合逻辑关系后,可以更⾼效的设置参数、更准确的达到进⾏性能测试的⽬的。
⼀般情况下进⾏参数化数据设置的时候,要先进性业务场景分析,所列出需要参数化的数据以及对应的关系,将参数化数据从数据库中提取出来或根据相应的⽣成规则进⾏数据⽣成,合理的将数据保存到不同的⽂件中,然后在压⼒测试⼯具中设置参数组合关系,以便可以实现模拟真实性能测试场景。