目前我用到两种方式:

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" 按钮产生

最新文章

  1. python logging colorlog
  2. Git学习总结
  3. SharePoint 读取 Site Columns 的数据并绑定到DropdownList
  4. System.Web.Http.Tracing 在webapi里面应用
  5. 虚拟机centOS中安装Redis,主机Redis Destop Manager不能访问虚拟机Redis server的解决方案
  6. 32bit程序在64bit操作系统下处理重定向细节(转自http://bbs.pediy.com/showthread.php?t=89054)
  7. 面试经典算法题集锦——《剑指 offer》小结
  8. 使用LR编写HTTP协议Json报文格式接口脚本实战
  9. AIROBOT系统 之 私人存储 和 DLNA 智能电视云
  10. 转 Deep Learning for NLP 文章列举
  11. Hadoop分布式HA的安装部署
  12. android 下拉刷新框架PullToRefreshScrollView(com.handmark.pulltorefresh)
  13. Lucene使用案例
  14. Python模块-pandas
  15. c++第十一天
  16. notion笔记
  17. std::tr1::function
  18. Python3.x:requests的用法
  19. flask第十九篇——模板【3】
  20. 查看oracle当前连接数和进程数

热门文章

  1. lintcode 中等题:N Queens N皇后问题
  2. lintcode:合并两个排序链表
  3. [hackerrank]Closest Number
  4. dubbo/dubbox部署资料收集
  5. 字符编解码的故事–ASCII,ANSI,Unicode,Utf-8区别(转)
  6. PHP Warning: date(): It is not safe to rely on the system's timezone settings.
  7. Python数字加千分符
  8. Java对ArrayList进行排序
  9. [HDOJ1827]Summer Holiday(强连通分量,缩点)
  10. Ubuntu 64位系统安装StarUML之最佳实践