目前我用到两种方式:

1)某个参数,值不常改变的,好多地方都用到:请用“用户定义的变量”

用户组,右键--添加--配置原件--用户定义的变量,在这添加。

如何使用呢?在需要用到此参数的地方这样引用:

${参数名}

一些可变的东西,最好都参数化,比如服务器ip,如果哪天变化了,你只需要修改用户定义的变量中ip对应的值即可,不然要每个请求里都改一次,太麻烦了,还会遗漏

2)我有100人要登录,每个的用户名、密码不一样。

想法:可以把用户名、密码设参,把参数值放到一个文件里,在需要用到的地方引用这个参数。----用CSV Data Set Config

用户组,右键--添加--配置原件--CSV Data Set Config,在这添加。

如何创建csv文件?

  • 新建一个文本文件
  • 用编辑器打开,如notepad++,放入变量,一行一行的放,每个变量用,分隔
  • 保存成utf-8格式。如果用的notepad++,编码时用utf-8第一行读取会有问题,要用UTF-8 无BOM格式

  • 后缀改成.csv

以下是CSV Data Set Config各个参数的简要说明:

  • FileName:csv文件的名称,默认是在bin目录下的文件(包括绝对路径,当csv文件在bin目录下时,只需给出文件名即可)
  1. 我一般放在bin目录下的data目录下,统一管理csv文件
  2. Jmeter脚本放在bin目录下的examples目录下
  3. FileName:   ..\data\xxx.csv(..表示回到上一级目录)
  • File Encoding: 默认为ANSI,我一般用utf-8
  • Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用
  • Delimiter(use “\t” for tab):csv文件中的分隔符(用”\t”代替tab键)(一般情况下,分隔符为英文逗号)
  • Allow Quoated data?:是否允许引用数据,---这个目前还未弄明白,设置成True或者False都能正常引用数据。
  • Recycle on EOF: 设置为True后,允许循环取值(比如循环1000次,但是用户名密码只有100个,那就要循环了)
  • Stop Thread on EOF: 当Recycle on EOF=false,Stop Thread on EOF=true,那么读完csv文件中的记录后,就会停止运行。注:当Recycle on EOF设置为True时,此项设置无效。
  • Sharing Mode: 设置是否线程共享。
共享模式,All threads –所有线程,Current thread group—当前线程组,Current thread—当前线程。
这个地方和[url=]LoadRunner[/url]中的迭代取之相反,经试验得出来的结果是:
Ø All threads:[url=]测试[/url]计划中所有线程,假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。
Ø Current thread group:当前线程组,假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取之情况是:线程A1取到了第1行,线程A2取第2行,现在B1取第1行,线程B2取第2行。
Ø Current thread:当前线程。假设测试计划内有线程1到线程n (n>1),则线程1取了第1行,线程2也取第1行。
我习惯的设置:

最后,我们需知Jmeter还有如下方式可以进行参数化:

  • User Defined Varibles: 一般对不需要改变的参数进行
  • User Parameters:
  • 通过系统函数: Options->Function Helper Dialog,通过自己输入参数值,点击"Generate" 按钮产生

细雨学习笔记:Jmeter参数化的更多相关文章

  1. 细雨学习笔记:Jmeter上一个请求的结果作为下一个请求的参数--使用正则提取器

    Jmeter接口自动化--使用正则提取器,可以把上一个请求的结果取出来,作为下一个请求的入参

  2. 细雨学习笔记:JMeter 的主要测试组件总结

    1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器. 2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求.实际的请求内容在Sampler中定义, ...

  3. 细雨学习笔记:Jmeter集合点

    设置集合点的原则 (1) 集合点设置数<=线程组线程数量(因为大于线程组线程数量的话就永远也到不了集合点) (2)线程组线程数量是集合点设置数的整数倍(因为分组有余数的话最后一组永远也到不了集合 ...

  4. 细雨学习笔记:Jmeter之post processors(后置处理器)

    后置处理器

  5. 细雨学习笔记:Jmeter测试计划最基本的元素

    测试计划-用户组下最基本的元素: 1)HTTP请求默认值 2)HTTP Cookie 管理器(有些操作需要登录后才能访问,用户信息记录在Cookie中,各请求之间就可以共享Cookie了) 3)请求S ...

  6. JMeter学习笔记--JMeter监听器

    监听器(Listeners)是一种展示采样结果的测试元件,采样结果可以通过树.表格.图片加以展示,或者简单地写入某个结果文件之中. 注:不同的监听器通过不同的方式展示服务器响应信息,但它们都将同样的原 ...

  7. JMeter学习笔记--JMeter常用测试元件

    JMeter测试计划有一个被称为“函数测试模式”的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如果你尝试一个较小的测 ...

  8. JMeter学习笔记--JMeter属性和变量

    JMeter属性统一定义在jmeter.properties文件中.JMeter属性在测试脚本的任何地方都是可见的(全局),通常被用来定义一些JMeter使用的默认值.如属性remote_hosts定 ...

  9. JMeter学习笔记--JMeter执行顺序规则

    JMeter执行顺序规则: 配置元件 前置处理器 定时器 采样器 后置处理器(除非服务器响应为空) 断言 监听器 只有当作用域内存在采样器时,定时器.断言.前置/后置处理器才会被执行,逻辑控制器和采样 ...

随机推荐

  1. java打印时间精确到毫秒

    package net.floodlightcontroller.conflict; import java.io.*; import java.util.*; import java.text.Si ...

  2. 李洪强漫谈iOS开发[C语言-007]-语言标准简介

    C语言是介于低级语言和高级语言之间的 一个应用程序 C语言在嵌入式上使用,的确是具有低级语言的特征 直接操作硬件,扫描内存 访问到的都是虚拟内存,一个应用程序占多大内存? 表示最多 可以放多少条指令 ...

  3. lintcode :Trailing Zeros 尾部的零

    题目: 尾部的零 设计一个算法,计算出n阶乘中尾部零的个数 样例 11! = 39916800,因此应该返回 2 挑战 O(logN)的时间复杂度 解题: 常用方法: 也许你在编程之美中看到,通过求能 ...

  4. JAVA+ Proxool+ SQLserver 2008 “signer information does not match signer information of other classes in the same package”

    1. Proxool+SQLserver2008(sqljdbc4.jar)集成问题最近在项目中遇到个问题:我用的是Proxool连接池,连接SQLserver2008数据库,控制台报错:签名信息和同 ...

  5. DAO设计模式 -- 使用数据库连接类连接MySql数据库并实现添加用户

    1. DAO简介    DAO设计模式是属于J2EE数据库层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性. 2. DAO各部分详解    DAO设计模式包括5个重要的部分,分别为数据 ...

  6. java.util.regex.PatternSyntaxException: Unclosed character class near index解决办法

    使用str.split("[")时,出现java.util.regex.PatternSyntaxException: Unclosed character class near  ...

  7. WPF中Timer与DispatcherTimer类的区别

    前几天在WPF中写了一个轨迹回放的功能,我想稍微做过类似项目的,都晓得采用一个时间控件或者时间对象作为调度器,我在这么做的时候,出现了问题,于是将程序中的Timer换成了DispatchTimer,然 ...

  8. LA 6187 - Never Wait for Weights 并查集的带权路径压缩

    只有一个地方需要注意: 设节点a的根为u,b的跟为v,则:a = u + d[a];  b = v + d[b]; 已知:b-a=w.所以v - u = d[a] - d[b] + w; 在合并两个集 ...

  9. html 表单笔记

         表单 表单中主要包括下列元素: button——普通按钮radio ——单选按钮checkbox——复选框select ——下拉式菜单text ——单行文本框textarea——多行文本框s ...

  10. Topcoder 练习小记,Java 与 Python 分别实现。

    Topcoder上的一道题目,题目描述如下: Problem Statement      Byteland is a city with many skyscrapers, so it's a pe ...