jmeter连接数据库,并将查询结果作为下一个请求的入参

需求背景:

1. 采购下单京东商品,生成京东订单:平台的订单编号XX如111,对应京东的订单编号XX如222

2. 供应页面确认订单,需要用到平台订单编号XX如111

3. 调rpc服务进行京东发货,此时需要用到京东订单编号XX如222,这个就需要通过平台的订单编号到db中查询得到京东订单编号

实现:

上述1,2步在上一篇已经实现,这里不再赘述:https://www.cnblogs.com/hellomaster/p/11937841.html

主要对第3步进行拆分:

1.jmeter连接数据库

2.写sql语句通过平台订单编号查询出京东订单编号

3.调rpc服务进行发货操作

1. jmeter支持多种数据库,且均需要下载对应的驱动包。这里我的db是sqlserver,所以需要有sqlserver的jar包,需要放到 jmeter的lib下面:

2.新建一个JDBC  Connection Configuration,主要关注:

  • database url地址格式:jdbc:sqlserver://IP:端口;DatabaseName=库名      (ps,mysql的连接为这样:jdbc:mysql://IP:端口/库名)
  • variable name for created pool:名称要跟后面sql语句的连接池名称保持一致,否则会报错
  • JDBC Driver Class:com.microsoft.sqlserver.jdbc.SQLServerDriver         (ps,mysql的选这个:com.mysql.jdbc.Driver)

3. 新建一个jdbc requests请求,这个variable name bound to pool需要跟之前2中的保持一致:

4. 新建http请求,调rpc进行京东发货

经过上述步骤,就能用从数据库查到的结果作为下个请求的入参了。

原文地址:https://www.cnblogs.com/hellomaster/p/12092016.html

时间: 2024-10-12 06:15:27

jmeter连接数据库,并将查询结果作为下一个请求的入参的相关文章

正则表达式提取器--jmeter将上一个请求的结果作为下一个请求的入参

接口测试时需要将不同的接口串联起来,如将登录接口的出参UserStatusToken作为获取客户列表这个接口的入参,这样才能识别你是否是合法的用户. 1.创建一个线程组 选中测试计划-->右键-->添加-->Threads(Users)-->线程组 2.创建一个获取凭证的请求 在刚刚创建的线程组上右键-->添加-->Sampler-->HTTP请求 3.创建后置处理器 选中刚才添加的HTTP请求-->右键-->添加-->后置处理器-->正则

postman 上一个接口的返回值作为下一个接口的入参

在使用postman做接口测试的时候,在多个接口的测试中,如果需要上一个接口的返回值作为下一个接口的入参,其基本思路是: 1.获取上一个接口的返回值 2.将返回值设置成环境变量或者全局变量 3.设置下一个接口的参数形式 列子: 存在两个接口(设置微信公众号的测试号的菜单栏的接口) 1.第一个接口用户获取access_token.https://api.weixin.qq.com/cgi-bin/token?三个参数如下. 2.第二个接口用户设置菜单栏. 在这两个接口中,我们需要将第一个接口返回的

Jmeter将JDBC Request查询结果作为下一个接口参数方法

现在有一个需求,从数据库tieba_info表查出rank小于某个值的username和count(*),然后把所有查出来的username和count(*)作为参数值,用于下一个接口. tieba_info表结构如下图 分析: 1.要查出username和count(*),那么首先就要有1个或者2个 jdbc request,连接本地数据看,分别查询出我们需要的username和count(*): 2.rank小于某个值,这个值我们可以做一个变量,方便管理.不管这个值是多少,我们查出来的cou

JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器

有这样一个压力测试环境,有一个上传页面,上传成功之后服务器会返回一些上传信息(比如文件的 id 或者保存路径之类的信息),然后压力机会继续下一个请求,比如调整 id 为 xx 的文件的一些信息等等.问题来了:JMeter 是不知道上传后文件的 id 的,第二个请求势必从第一个请求的返回结果中提取出文件 id,然后依此为参数发起第二次请求.那么 JMeter 如何把上一个请求的结果作为下一个请求的参数呢?本文将介绍如何使用正则提取器解决这个问题.        1. 提参采样器添加正则表达式提取器

postman将上一个请求的值传给下一个请求的参数

原文地址:http://blog.51cto.com/3175096/2091958

Postman-----将 A 请求中 response Body 中的参数值传入到下一个请求 B 的 request body 中作为参数发送请求【一】

问题:将A接口中response body的"id"传入到B接口的request body中. 解决办法: 1.在A接口的test中设置环境变量. 代码:var data = JSON.parse(responseBody);    pm.environment.set("id", data.data.todo_list[0].id); 解释说明:pm.environment.set("id", data.data.todo_list[0].id

巨坑:浏览器在短时间内对于同一个请求的处理,会先等待上一个请求完成后,再处理下一个请求,导致在测试异步时误导代码有问题。

例子: tornado后端异步处理(模拟异步处理20秒) 浏览器请求接口:http://192.168.1.98:1104/test 然后又打开一个table,请求同一个接口:http://192.168.1.98:1104/test: (这时,第二个请求就是到不了后端,一定要等第一个请求处理结束了才能到后端.) 那么,浏览器会等到第一个请求完成后,再对第二个请求做处理: 所以,最好每次加上一个不同的参数http://192.168.1.98:1104/test?count=123,让浏览器认为

jmeter JDBC Request (查询数据库获取数据库数据) 的使用

JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名.密码等)一起使用. 一.准备工作 1.本文使用的是mysql数据库进行测试,数据库的用户名为root(你自己的用户名),用户名密码为*********(你自己的密码) 2.数据库中有表:test,表的数据结构如下: 表中数据如下: select * from

jmeter从上一个请求使用正则表达式抓取Set-Cookie值,在下一个请求中运用

工作中遇到的问题,登录请求,返回的Response Headers中有个参数Set-Cookie,需要抓取这个参数,运用到下一个请求中,见下图: 通过正则表达式抓取Set-Cookie的值,由于该值存在在Response Headers中,正则需要选择为"信息头": 运用在别的请求中,需要添加一个"HTTP信息头管理器",引用上面抓取的值,见下图: 再次发送请求,Response Headers里也有Set-Cookie值,不会再返回登录超时了. 原文地址:http