1、post
因为是用户登录接口,所以其中测试数据文件为用户名和密码:
CSV Data Set Config:被用来从文件中读取数据,并将它们分割存储到变量中,适合处理多变量。如:登录,在文本文档内把用户名和密码参数化,执行操作时,会自动循环读取文本里的用户名和密码。
(1)Filename:参数化的文档路径
(2)File encoding:文件编码 默认显示为: UTF-8【UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)】可以不填
(3)Variable Names:变量名,多个变量用“,”分开。
(4)Ignore first line (only used if Variable Names is not empty):即当 CSV 文件中首行设置了变量名时,该项设为 true,此时每次请求读取文件时会自动忽略首行,直接读取第二行的数据。一般都选择False.
(5)Delimiter (use’\t’ for table):默认逗号,(用”\t”代替tab键,一般情况下,分隔符为英文逗号)
(6)Allow quoted data? :CSV文件是否允许值被引用,默认显示True
选择False:不允许引用
编辑,可以在此文本框内修改允许引用值的详细情说明。
(7)Recycle on EOF?:执行到文件结尾,是否从文件开始循环重新读取(默认True)。 当到达文件尾时,且Recycle选项设置为True,就会从文件第一行重新开始读取,如果设置为false,而Stop thread on EOF?是False,那么当到达文件尾部时所有变量都将被置为,可以通过设置JMeter属性csvdataset.eofstring来改变该值。如果Recycle选项为false,而Stop thread是True,那么到达文件尾部之后,将导致线程被终止。
到了文件尾处,是否循环读取参数,选项:true和false。因为CSV Data Set Config一次读入一行,分割后存入若干变量交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入
(8)Stop thread on EOF:到了文件尾处,是否停止线程,选项:true和false
(9)Sharing mode: 共享模式,如果希望每个线程拥有自己独立的值集合,那么就需要创建一系列数据文件,为每个线程准备一个数据文件,如test1.csv、test2.csv等,使用文件名test${__threadNum}.csv,并将“sharing mode”设置为”Current thread”
All threads:文件在所有线程间共享
Current thread group: 每个文件会针对每个线程组打开一次
Current thread: 每个文件会针对每个线程单独打开
比如:如果测试计划中有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn,CSV Data Set Config放在线程组A的下级组织树,不管怎么设置Sharing mode,都只针对线程组A且取之情况一样:线程A1取第一行,线程A2取第二行。CSV Data Set Config放在测试计划下级组织树(与线程组并列),情况如下 :
All threads:测试计划中所有线程,线程组A、线程组B共用一个CSV文件,所取数据与线程实际执行顺序有关(先执行先取)。补充一点:线程组之间是并行执行,各线程实际执行时间根据Ramp-UP Period而来,如下图,若线程A、线程B均设置Ramp-Up Period:2,取之情况是:线程A1取第1行,线程B1取第2行,线程A2取第3行,线程B2取第4行。
Current thread group:取之情况是:线程A1取第1行,线程A2取第2行,线程B1取第1行,线程B2取第2行。(线程组互不影响)
Current thread:当前线程。A1取第一行,A2取第一行;B1取第一行,B2取第一行(均取第一行)