Jmeter接口模版说明

此接口模板,采用了csv配置文件和“关键字驱动框架”相结合的方式。根据实际业务需求,在jmeter中添加http请求,然后把各种参数信息与预想结果,通过csv文件传入,进行快速校验。

以“掌门发布”的几个http请求做了sample,以下做相关的简单说明。

注意:“关键字驱动框架”可以参看Jmeter知识点中的文档说明。


 

 


一、配置文件

CsvFile目录下的两个配置文件:“token.csv” 和“case.csv”。

注意:

(1)Jmeter只能读取utf-8格式的csv文件。

(2)可新建一个纯文本的csv文件,可用excel文件打开进行编辑,保存后,需要把该csv文件转成“UTF-8”格式。

1.token.csv文件

-------------------------------------------------------------------------------

格式内容:account,token

-------------------------------------------------------------------------------

 格式字段说明:

(1)account:账户

(2)token:账户的token信息

注意:在此文件中,两个字段内容用“,”分割。

 

文件内容如下图所示:

Jmeter中需要做如下设置,才能读取到csv文件中的字段内容。

(1)文件名:建议用相对路径,否则换了一个路径就读取失败了。(另外,不管在什么系统下请用“/”作为路径分割符,可保证在任何环境中都能读取正常。)

(2)文件编码:utf-8(建议使用)

(3)变量名称:与csv文件对应的字段名称(请用英文或者英文+数字字符)

(4)忽略首行:True:不读取首行;False:从首行开始读取。如果csv文件的首行是一些字段名称或者描述信息,不需要作为参数读入时,需选择True。

(5)分隔符:csv文件中,字段内容之间使用的间隔符。(默认是逗号,可以自行选择合适的分隔符)

(6)是否允许带引号?:True:文件可带有引号字符;False:文件中没有引号字符。

(7)遇到文件结束符再次循环:True:即使到文件末尾,重新从头开始读取,不停循环。False:到文件末尾就不再循环。

(8)遇到文件结束符停止线程:True:到文件末尾,线程停止。False:到文件末尾,不停止线程。

 

2.case.csv文件

-------------------------------------------------------------------------------

格式内容:caseId,casename,action,params,results

-------------------------------------------------------------------------------

格式字段说明:

(1)caseId:case编号

(2)casename:case名称

(3)action:对应jmeter中要执行的方法名

(4)params:参数信息

---------------------------------------------------------------

格式:字段名1=字段值1&字段名2=字段值2

---------------------------------------------------------------

如下图:

(5)results:响应结果校验信息

---------------------------------------------------------------

格式:字段名1=预想值1&字段名2=预想值2

---------------------------------------------------------------

如下图:

 

Jmeter中需要做如下设置,才能循环读取到csv文件中的字段内容。

 

二、action设置

1、在“关键字驱动框架”中,在TestFragment下的“Switch控制器”中设置“Switch Value”为“${action}”,将通过csv文件传入action值。

注意:上述只需一次设置。

2、在上述的“Switch Controller”下,添加一个新的“Switch Controller”,设置其名称为action对应的值。比如,csv文件中action的值为“loadSurvey”,那么设置名称为“loadSurvey”

 

3、然后再下方添加http请求。

 

三、http请求

1、Get请求

(1)参数值设置:

如下图所示,

  • csv文件信息:
    • params列需要添加所需参数的信息(不同参数之间用“&”分割,key与value之间用“=”分割)
    • result列为预想的结果信息(不同的校验内容之间用“&”分割,key与value之间用“=”分割)

  • 参数化的请求信息

在参数一栏添加字段名(code),其值为csv文件中获取的code值,用${code}引用。

注意:也可以直接在url后面拼接,比如”/api/ncov/survey/loadSurvey?code=${code}”

(2)结果校验:

在每个http请求下放置一份如下图所示的“返回结果检验(共通)”,通过其可以对“预想结果”和“实际值”做比较。(请确认当前路径下的Comm目录中是否有校验用的java文件。)

2、Post请求

(1)参数值设置:

如下图所示,

  • csv文件信息:
    • params列需要添加所需参数的信息(不同参数之间用“&”分割,key与value之间用“=”分割)
    • result列为预想的结果信息(不同的校验内容之间用“&”分割,key与value之间用“=”分割)

 

  • 消息体数据(body)的设置

在“消息体数据”一栏中,编写body信息,并引用csv中的变量值(或者上下文的变量值)。

(2)结果校验:

结果校验同get请求。

3、文件上传的请求

与上述post请求不同的是,文件信息不写在body中,而是写在“文件上传”一栏中,如下图设置。但必须勾选“对POST使用multipart / form-data”。

4、获取请求结果

一个请求执行完成后,可能需要从其返回的响应文本中提取信息。

(1)jp@gc - JSON/YAML Path Extractor提取器 

用JSONPath 表达式来提取。当然还有其他的json提取器,也可以使用。

注意:

(1)该提取器的使用需先安装JSON Path Extractor插件

(2)JSON方式的提取,会打乱提取内容的原有顺序,其会重新按照ASCII码顺序排列。

 

(2)正则表达式提取器

是通过正则表达式的方式提取。(当使用JSON提取会打乱顺序时,可以使用正则表达式提取器)。

posted @ 2021-05-12 16:34  美女爱找茬  阅读(225)  评论(0编辑  收藏  举报