51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 22546|回复: 19
打印 上一主题 下一主题

Jmeter——CSV Data Set Config设置

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-12 14:49:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
利用Jmeterhttp请求的时候,如果我们要添加不同的数据,而每一条数据都不一致,我们将每一天数据作为一个测试用例,则我们可能需要为每个测试用例建立一个http请求,十分麻烦,比如,就登录来说,有用户,密码,每个用户的用户名,密码都不一致,如果我们要建立多个用户登录的请求,每个用户使用不同的用户名和密码,我们可能要将每个用户名单独作为一个http请求,这样十分不方便。
我们是否可以将所有的用户名和密码写入一个文件,然后将http请求中的用户名和密码参数化,读取写有用户名和密码的文件呢?
利用JmeterCSV Data Set Config,可以实现这个功能,具体如下:
1. 新建一个文本文件,里面保存要登录的用户名,密码,文件内容如下:
admin,123
manager,456
test,test
说明:这里用英文逗号为分隔符,也可以用其他为分隔符,在CSV Data Set Config中可以设置。
2. 右键点击Jmeter中需要参数化的某个请求,选择添加——配置原件——CSV Data Set Config,会添加一个CSV Data Set Config,需要设置相关的一些内容,具体如下:
Filename:文件名,,指保存信息的文件目录,可以相对或者绝对路径(比如:D:\ceshi.Txt



Variable Names
:参数名称(如:有几个参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,分隔符在下面的“Delimitet”中定义,为了和文件中的“,”对于,这里也用“,”分割每个参数名,(比如:use,password
Delimitet:定义分隔符,这里定义某个分隔符,则在“Variable Names”用这里定义的分隔符分割参数。
Recycle on EOF是否循环读入,因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入
设置CSV Data Set Config如下图所示:



3. 在需要使用变量的地方,比如在登录操作中,需要提交的表单字段包含用户名密码,我们就可以用${变量名} 的形式进行替换,例如${user}${password}
4.
附带说一下,通常有用户认证的地方都要用到cookie或者session,那么最好在测试计划中加入一个http cookie 管理器,直接添加一般不需要任何设置,否则可能会出现登录失败(在测试结果中,如果看到多次请求不同页面返回的字节数却是相同的,那多半是登录失败了)
5.
最后,添加后,可以通过添加-监视器-查看结果树(请求部分)”, 来检验参数化是否成功,运行线程组,如果失败,那么检查一下文本的路径,变量大小写等等,手册上说使用相对文本路径时,要以测试配置文件(默认是jmeterbin目录)的目录为参考,但是我试过似乎不行,换成绝对路径就可以了


说明:以上内容部分参考网络资料,但是核心内容为原创,请转载者注明出处,也欢迎大家一起探讨Jmeter的使用。
JmeterQQ群:43429627
更多关于Jmeter的内容,请查看我的博客:http://www.51testing.com/?uid/128005
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

18#
发表于 2012-3-29 15:19:31 | 只看该作者

写得不错

建议也可以参照这篇
http://www.cnblogs.com/fnng/archive/2011/07/28/2119896.html
有图文解说

回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2012-3-23 13:45:47 | 只看该作者
我明白了,如果用txt文件,那么use和password使用逗号隔开的
那如果是用csv格式,那Delimitet就填\t,表示换行 是吧
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2012-3-23 13:32:23 | 只看该作者
请教下哈
如果Variable Names:use,password
那么Delimitet:输入什么?
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2011-11-22 11:23:23 | 只看该作者
回复 12# lionel319


    在FTP 请求页面,有栏参数Local file Contegnts  勾选“use Binary mode”
   这个是解决二进制的问题,希望能对你有所帮助
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-12-17 17:42:29 | 只看该作者
不愧是小刀,一刀见血
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2010-7-6 18:50:08 | 只看该作者
设置请求界面的 Content encoding 为你们程序设置的编码方式。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-1-19 23:00:45 | 只看该作者
如果参数文件里面有中文怎么办,我试过Unicode,utf-8都不行,读出来的参数是乱码.哪位高人能指点下
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2010-1-14 13:52:58 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-1-12 09:23:36 | 只看该作者
直接用csv文件就不需要分割符号了
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-1-11 11:04:00 | 只看该作者
谢谢分享,我正在做登录并发测试,由于程序规定了同一用户不允许重复登录,本来准备通过组多个线程,设置不同的用户名密码来实现。先拷贝下来学习学习,这里谢谢了。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-7-1 10:52:13 | 只看该作者

Allow quoted data

在CSV Data Set Config中参数Allow quoted data的值是什么意思?配true与false有什么不同?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-12-23 09:37:16 | 只看该作者
解决了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-12-17 16:03:25 | 只看该作者
POST data:
username=%26%7Busername%7D&password=%26%7Bpassword%7D&Submit=%3F%3F

[no cookies]

Request Headers:
Connection: keep-alive
Content-Length: 67
Content-Type: application/x-www-form-urlencoded
我的请求里没有具体的用户名,是则么回事
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-10-21 22:52:08 | 只看该作者

回复 1# 的帖子

默认是jmeter的bin目录   
→导入的jmx所在的目录

[ 本帖最后由 happyjinyu 于 2008-10-26 08:25 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-6-4 10:18:15 | 只看该作者
谢谢小刀!!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-12-26 10:41:42 | 只看该作者
强!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-1-27 10:47
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-12-12 17:47:27 | 只看该作者

    谢小刀

    这个配置,前些时日有做过,但苦于没有资料参考,所以未成功,LZ的剖析太及时了.......
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 09:10 , Processed in 0.086207 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表