一、Jmeter 的使用步骤打开Jmeter 安装包进入\bin 中找到jmeter.bat, 点击打开即可。在下图打开的Jmeter 页面中右键“测试计划” - “添加” - Threads(Users) - “线程组” 建立线程组。右键“线程组” - “添加” - “Sample” - “HTTP请求”, 输入“服务器名称或IP”对应的端口号http默认端口号80可以不写。以下请求为GET, 所有“方法”那选择“GET” 输入对应的路径添加参数及值。注意 “服务器名称或IP”中不用输入http://, 请求时会自动加入eg, 输入api.test.cn.右键“线程组” - “添加” - “监听器” - “察看结果数”, 添加“察看结果数” 以察看运行后的结果如果所示。这是一个简单的接口请求例子。二、接口请求实例1. “用户定义的变量” 的应用以获取学生信息接口(stu_info) 为例添加一个“用户定义的变量”设置变量host 以及值这样在获取学生信息接口(stu_info)就可以通过${host}取得“服务器名称或IP”的值。登陆接口login接口也可以应用“用户定义的变量”的方法如上图所示在“用户定义的变量”中添加username, password 变量及对应的值 应用到登陆接口login接口请求中即可。2. HTTP Cookie 管理器的应用以金币充值接口gold_add为例建立一个HTTP请求改名“金币充值”选取请求方式POST 输入对应的host, path以及同请求一起发送的参数和值。由于此接口有权限验证需要admin用户才可以做操作需要添加cookie 因此需要添加HTTP Cookie 管理器以传递Cookie。添加HTTP Cookie 管理器 方法如下图所示 右键“金币充值” - “添加” - “配置元件” - HTTP Cookie 管理器设置Cookie 的名称(即username 的值)值即login Response 中的sign 值域已在“用户定义的变量”中设置只需输入变量即可格式为${host}最后可以通过“察看结果数”的响应数据查看结果。3. 建立接口间的关联以下以登陆接口login和金币充值接口gold_add为例在这两个接口间建立关联让金币充值接口gold_add可以实时取得登陆接口login的sign 值不必再“HTTP Cookie 管理器”中手动输入最新的sign 值。从“察看结果树”可以看出登陆接口login的Response 结构为Json 格式, sign 在 login_info 里面一层。3.1 应用jpgc - JSON Path Extractor 来实现右键“登陆” - “后置处理器 - jpgc - JSON Path Extractor通过“察看结果数”得到Response 的结果后 将“JSONPath Expression” 输入$.login_info.sign, 设置变量sign2 给金币充值接口gold_add用因此需要在“HTTP Cookie 管理器”中将的值输入username的值输入{sign2}代替之前手动输入的那一串码。3.2 右键“登陆” - “后置处理器 - 正则表达式提取器输入对应的值 jpgc - JSON Path Extractor 中类似将“引用名称”输入sign2以保证和“HTTP Cookie 管理器”的一致。将正则表达式中的式用login 接口返回的 sign: cd2b43f1688e472e3a516b5a2c6831e8, 中的一串码用(.*) 替换即可。各参数的含义参考下表参数释义引用名称在HTTP等请求中引用此数据需要用到的名称正则表达式用于将需要的数据提取出来模板表示使用提取到的第几个值−1−1:表示取所有值00:表示随机取值11:表示取第1个22:表示取第二个以此类推:n:表示取第n个匹配数字0代表随机0 代表随机取值1 代表全部取值缺省值如果正则表达式没有搜找到值则使用此缺省值4. 设置断言以“增加学生”接口add_stu为例增加响应断言以验证添加的数据是否成功。如下图所示设置通过“察看结果数”可以看到“增加学生” 金币结果为绿色同时响应数据里的确有断言中的设置的1000。5. “HTTP信息头管理器”的使用以下图中的“获取所有学生信息” 为例右键“获取所有学生信息” - “添加” - “配置元件” - HTTP Cookie 管理器 输入对应的名称和值即可。注意这里的值需要输入完整的url, 包括http:// (eg, 输入http://api.test.cn)6. POST 文件的使用方法与其他POST请求中添加key-value, json 数据不同的是这个需要在HTTP 请求中点击“Flies Upload” tab, 点击“添加” 然后通过“浏览”上传本地的文件。注意 参数名称必须为file。7. CSV Data Set Config 和 “函数助手对话框”的使用以增加学生接口add_stu为例在本地创建一个文件添加name 和sex的值对脚本设置5个线程或者循环5次以加入这5个用户。右键“线程组” - “添加” - “配置元件” - CSV Data Set Config如果仅应用于“增加学生”接口的话可以直接在“增加学生”接口下面创建CSV Data Set Config。根据下图添加对应的Variable Names 输入name 和sex 以逗号隔开为避免插入的数据乱码将file encoding 设置为utf-8。由于CSV Data Set Config中的变量名为name 和sex因此在“增加学生”接口的Body Data 中将值分别替换为,name,{sex}。由于“phone”的唯一性每次插入一条学生信息时phone 都要求不一样所以对后面8位用随机函数来实现。8. 数据库的应用以下是JMeter 驱动数据库列表数据库驱动数据库urlmysqlcom.mysql.jdbc.Driverjdbc:mysql://host:port/{dbname}?allowMultiQueriestrueoracleorg.postgresql.Driverjdbc:postgresql:{dbname}PostgreSQLoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:user/pass//host:port/serviceMSSQLcom.microsoft.sqlserver.jdbc.SQLServerDriver或者net.sourceforge.jtds.jdbc.Driverjdbc:sqlserver://IP:1433;databaseNameDBname或者jdbc:jtds:sqlserver://localhost:1433/library以下以mysql 数据库为例。添加一个JDBC Connection Configuration 根据上表中对mysql的要求设置下图的值。添加一个JDBC Request, 由于在Query 中有insert 和select , 所以Query Type 需要选择Callable Statement, 如果是单个的select 或者insert可以选取对应的Select Statement 和Update Statement。通过察看结果数看到JDBC Request 请求成功响应数据里返回insert 和select 的结果。登陆mysql 数据库查询发现和Jmeter 中通过察看结果数看到的结果一致。**注意点修改Jmeter 中的中文乱码要将\bin 路径下的jmeter.properties 文件中设置为 sampleresult.default.encodingutf-8如下所示。对于Jmeter 里中文显示不出来的问题可以打开\bin 路径下的jmeter.properties 文件如下图所示将这几个JS开头的注释去掉。对于以上两个问题修改后需将Jmeter 重启才能起效。最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。
用Jmeter进行接口测试
发布时间:2026/6/10 6:54:45
一、Jmeter 的使用步骤打开Jmeter 安装包进入\bin 中找到jmeter.bat, 点击打开即可。在下图打开的Jmeter 页面中右键“测试计划” - “添加” - Threads(Users) - “线程组” 建立线程组。右键“线程组” - “添加” - “Sample” - “HTTP请求”, 输入“服务器名称或IP”对应的端口号http默认端口号80可以不写。以下请求为GET, 所有“方法”那选择“GET” 输入对应的路径添加参数及值。注意 “服务器名称或IP”中不用输入http://, 请求时会自动加入eg, 输入api.test.cn.右键“线程组” - “添加” - “监听器” - “察看结果数”, 添加“察看结果数” 以察看运行后的结果如果所示。这是一个简单的接口请求例子。二、接口请求实例1. “用户定义的变量” 的应用以获取学生信息接口(stu_info) 为例添加一个“用户定义的变量”设置变量host 以及值这样在获取学生信息接口(stu_info)就可以通过${host}取得“服务器名称或IP”的值。登陆接口login接口也可以应用“用户定义的变量”的方法如上图所示在“用户定义的变量”中添加username, password 变量及对应的值 应用到登陆接口login接口请求中即可。2. HTTP Cookie 管理器的应用以金币充值接口gold_add为例建立一个HTTP请求改名“金币充值”选取请求方式POST 输入对应的host, path以及同请求一起发送的参数和值。由于此接口有权限验证需要admin用户才可以做操作需要添加cookie 因此需要添加HTTP Cookie 管理器以传递Cookie。添加HTTP Cookie 管理器 方法如下图所示 右键“金币充值” - “添加” - “配置元件” - HTTP Cookie 管理器设置Cookie 的名称(即username 的值)值即login Response 中的sign 值域已在“用户定义的变量”中设置只需输入变量即可格式为${host}最后可以通过“察看结果数”的响应数据查看结果。3. 建立接口间的关联以下以登陆接口login和金币充值接口gold_add为例在这两个接口间建立关联让金币充值接口gold_add可以实时取得登陆接口login的sign 值不必再“HTTP Cookie 管理器”中手动输入最新的sign 值。从“察看结果树”可以看出登陆接口login的Response 结构为Json 格式, sign 在 login_info 里面一层。3.1 应用jpgc - JSON Path Extractor 来实现右键“登陆” - “后置处理器 - jpgc - JSON Path Extractor通过“察看结果数”得到Response 的结果后 将“JSONPath Expression” 输入$.login_info.sign, 设置变量sign2 给金币充值接口gold_add用因此需要在“HTTP Cookie 管理器”中将的值输入username的值输入{sign2}代替之前手动输入的那一串码。3.2 右键“登陆” - “后置处理器 - 正则表达式提取器输入对应的值 jpgc - JSON Path Extractor 中类似将“引用名称”输入sign2以保证和“HTTP Cookie 管理器”的一致。将正则表达式中的式用login 接口返回的 sign: cd2b43f1688e472e3a516b5a2c6831e8, 中的一串码用(.*) 替换即可。各参数的含义参考下表参数释义引用名称在HTTP等请求中引用此数据需要用到的名称正则表达式用于将需要的数据提取出来模板表示使用提取到的第几个值−1−1:表示取所有值00:表示随机取值11:表示取第1个22:表示取第二个以此类推:n:表示取第n个匹配数字0代表随机0 代表随机取值1 代表全部取值缺省值如果正则表达式没有搜找到值则使用此缺省值4. 设置断言以“增加学生”接口add_stu为例增加响应断言以验证添加的数据是否成功。如下图所示设置通过“察看结果数”可以看到“增加学生” 金币结果为绿色同时响应数据里的确有断言中的设置的1000。5. “HTTP信息头管理器”的使用以下图中的“获取所有学生信息” 为例右键“获取所有学生信息” - “添加” - “配置元件” - HTTP Cookie 管理器 输入对应的名称和值即可。注意这里的值需要输入完整的url, 包括http:// (eg, 输入http://api.test.cn)6. POST 文件的使用方法与其他POST请求中添加key-value, json 数据不同的是这个需要在HTTP 请求中点击“Flies Upload” tab, 点击“添加” 然后通过“浏览”上传本地的文件。注意 参数名称必须为file。7. CSV Data Set Config 和 “函数助手对话框”的使用以增加学生接口add_stu为例在本地创建一个文件添加name 和sex的值对脚本设置5个线程或者循环5次以加入这5个用户。右键“线程组” - “添加” - “配置元件” - CSV Data Set Config如果仅应用于“增加学生”接口的话可以直接在“增加学生”接口下面创建CSV Data Set Config。根据下图添加对应的Variable Names 输入name 和sex 以逗号隔开为避免插入的数据乱码将file encoding 设置为utf-8。由于CSV Data Set Config中的变量名为name 和sex因此在“增加学生”接口的Body Data 中将值分别替换为,name,{sex}。由于“phone”的唯一性每次插入一条学生信息时phone 都要求不一样所以对后面8位用随机函数来实现。8. 数据库的应用以下是JMeter 驱动数据库列表数据库驱动数据库urlmysqlcom.mysql.jdbc.Driverjdbc:mysql://host:port/{dbname}?allowMultiQueriestrueoracleorg.postgresql.Driverjdbc:postgresql:{dbname}PostgreSQLoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:user/pass//host:port/serviceMSSQLcom.microsoft.sqlserver.jdbc.SQLServerDriver或者net.sourceforge.jtds.jdbc.Driverjdbc:sqlserver://IP:1433;databaseNameDBname或者jdbc:jtds:sqlserver://localhost:1433/library以下以mysql 数据库为例。添加一个JDBC Connection Configuration 根据上表中对mysql的要求设置下图的值。添加一个JDBC Request, 由于在Query 中有insert 和select , 所以Query Type 需要选择Callable Statement, 如果是单个的select 或者insert可以选取对应的Select Statement 和Update Statement。通过察看结果数看到JDBC Request 请求成功响应数据里返回insert 和select 的结果。登陆mysql 数据库查询发现和Jmeter 中通过察看结果数看到的结果一致。**注意点修改Jmeter 中的中文乱码要将\bin 路径下的jmeter.properties 文件中设置为 sampleresult.default.encodingutf-8如下所示。对于Jmeter 里中文显示不出来的问题可以打开\bin 路径下的jmeter.properties 文件如下图所示将这几个JS开头的注释去掉。对于以上两个问题修改后需将Jmeter 重启才能起效。最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。