jmeter上多用户通过mysql数据库登录的java负载测试

ztigrdn8  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(330)

我正在使用jmeter对java应用程序执行负载测试。我有一个mysql数据库,我想通过它获取用户和他们的密码,以便测试登录。我一直遵循的步骤是:
在系统上设置jmeter并在chrome上安装blazemeter插件。
通过blazemeter为一个用户登录记录的测试脚本。编辑它以删除所有HTTPGET请求,因此该文件只有HTTPPOST请求。另存为“login.jmx”
打开jmeter上的login.jmx,默认情况下,它添加了所有必需的元素,如cookie缓存管理器等。
添加了jdbc配置来连接mysql数据库。
添加了带有select语句select name的jdbc连接,passwd from t\u user;
添加了一个结果树并运行了我的脚本,所有的httppost请求和jdbc请求都在工作,所有的用户名和密码都出现了。
为了动态更改httppost请求中的用户名和密码,我在jdbc request username的variable name字段中添加了pass和saved as object。
添加了一个从1开始递增1的计数器,以便获取用户直到表结束。
然后,我在参数选项卡中的HTTPPOST请求中编写了以下语句,其中用户的凭据被发送为:{“username”:“${u v(username${counter})}”,“password”:“${u v(pass${counter})}”},用户名和密码不是以文本的形式出现的,相反,我得到了与下面的ss相同的代码:我得到了相同的变量,而不是实际的用户名和密码
有人能告诉我哪里可能出错吗?

wmomyfyw

wmomyfyw1#

看着你漂亮的屏幕截图,我可以看到jdbc请求是在http请求采样器之后执行的,所以这是绝对正常的,如果你想在http请求中使用来自数据库的变量,你需要在其他任何事情之前执行它,否则变量将不会被初始化,也不会有它们各自的值。
同样值得检查的是,jdbc请求是否真的生成了使用debug sampler作为示例的变量 ${counter} 变量也未解析。
更多信息:
jmeter范围规则
jmeter测试元素执行顺序

相关问题