0

我遇到了一些问题:我使用 JDBC 请求来选择用户名数据并在登录请求中重用它 JDBC 请求从表中返回正确的数据 在此处输入图像描述

在此处输入图像描述

但是我的登录请求使用列名作为数据的问题,因此它尝试使用用户名businessId而不是正确的用户名登录。因此,当随机 JDBC 请求返回第一行businessId值时,测试返回 401 错误。

在此处输入图像描述

您对如何在 JDBC 请求中获取正确的值或提取没有列名的值有任何想法吗?

4

2 回答 2

0

根据JDBC Request sampler 文档

如果提供了变量名称列表,那么对于 Select 语句返回的每一行,变量都设置为对应列的值(如果提供了变量名称),并且还设置了行数。例如,如果 Select 语句返回 2 行 3 列,并且变量列表为 A,,C,则将设置以下变量:

A_#=2 (number of rows)
A_1=column 1, row 1
A_2=column 1, row 2

所以你不需要正则表达式提取器,你需要定义“变量名”,如:

在此处输入图像描述

第一行值可以引用为businessId_1,第二行为businessId_2等。

更多信息:在 JMeter 中调试 JDBC 采样器结果

于 2020-12-09T13:31:52.843 回答
0

实际上,问题出在结果中包含的列名中businessId。所以我的 JDBC 请求返回了包括列名在内的值,并且列名被存储为businessId值。为了解决这个问题,我使用 ForEach 控制器,其中输入变量前缀businessId输出变量名称currentId

于 2021-01-20T08:54:53.760 回答