JMeter 脚本:未从响应代码中获取动态值
JMeter Scripting: Not getting the dynamic value from response code
我在 HP Loadrunner 方面经验丰富,但在 Jmeter 方面是新手。
我最近在 Jmeter 3.0 中录制了一个脚本,其中一个步骤是上传一个 .pdf 文件。这是一个两步过程:
步骤 1> 在上传时 window 单击浏览从本地驱动器找到 pdf 文件。完成后,服务器将文件放在后端的临时目录中,并为其创建元数据(动态值)
仅供参考:我将 PDF 文件放在本地文件夹中:"Documents\apache-jmeter-3.0\bin\"
步骤 2> 指定本地文件路径(上述步骤)并单击按钮 "Upload File" 后,文件实际上会上传到服务器并永久存储。
在这一步,我需要提供动态值(元数据)才能成功提交请求。
我遇到的问题是 Jmeter 没有在上传过程的第 1 步返回元数据(或动态值)-
Screenshot: Request/Response details from Jmeter (Step-1)
我在 Vugen 12.53 中记录了相同的步骤,它返回了第 1 步的动态值 -
Screenshot: Request/Response details from Vugen (Step-1)
有人可以帮忙吗?
谢谢!
我看到 LoadRunner 和 JMeter 配置在文件上传块时不匹配,我相信你应该修改 Files Upload
部分配置,如:
- 文件路径: PDF 文件的完整路径。如果您放入 JMeter 的 "bin" 文件夹中,它可能只是
PerfTest_file_1.pdf
参数名称:这个人是最重要的,这就是你似乎有冲突的地方。查看您命名的 LoadRunner 屏幕截图
"Name=file", "Value=blob\PerfTest_file_1.pdf", "File=Yes", ENDITEM,
并且在 JMeter 中出于某种原因您将此 "Name" 位设置为 "blob"。我想正确的设置是 "file":
其他设置好像没问题。
今后为了避免这种情况,您可以只记录您的测试场景。您需要将要上传的文件放在 JMeter 的 "bin" 文件夹中,以便它可以在捕获文件上传请求时找到它。
参考文献:
以防万一,这就是请求 header 在 JMeter 中的样子-
解决方案:
只需将“实施”选择为“Java”或“HttpClient3.1" 解决了问题。
*注意事项:
在 "File Path" 字段中,您需要提供本地驱动器 ("C:/user/Documents/...PerfTest_file_1.pdf") 中文件位置的完整路径或将 PDF 文件放在 "bin" Jmeter 应用程序文件夹的文件夹,只需提供文件名 (PerfTest_file_1.pdf) 作为路径
“File”的参数值(在我的例子中 "blob")应该与“Parameter Name" 用于要附加的文件*
我在 HP Loadrunner 方面经验丰富,但在 Jmeter 方面是新手。 我最近在 Jmeter 3.0 中录制了一个脚本,其中一个步骤是上传一个 .pdf 文件。这是一个两步过程:
步骤 1> 在上传时 window 单击浏览从本地驱动器找到 pdf 文件。完成后,服务器将文件放在后端的临时目录中,并为其创建元数据(动态值)
仅供参考:我将 PDF 文件放在本地文件夹中:"Documents\apache-jmeter-3.0\bin\"
步骤 2> 指定本地文件路径(上述步骤)并单击按钮 "Upload File" 后,文件实际上会上传到服务器并永久存储。
在这一步,我需要提供动态值(元数据)才能成功提交请求。
我遇到的问题是 Jmeter 没有在上传过程的第 1 步返回元数据(或动态值)-
Screenshot: Request/Response details from Jmeter (Step-1)
我在 Vugen 12.53 中记录了相同的步骤,它返回了第 1 步的动态值 -
Screenshot: Request/Response details from Vugen (Step-1)
有人可以帮忙吗? 谢谢!
我看到 LoadRunner 和 JMeter 配置在文件上传块时不匹配,我相信你应该修改 Files Upload
部分配置,如:
- 文件路径: PDF 文件的完整路径。如果您放入 JMeter 的 "bin" 文件夹中,它可能只是
PerfTest_file_1.pdf
参数名称:这个人是最重要的,这就是你似乎有冲突的地方。查看您命名的 LoadRunner 屏幕截图
"Name=file", "Value=blob\PerfTest_file_1.pdf", "File=Yes", ENDITEM,
并且在 JMeter 中出于某种原因您将此 "Name" 位设置为 "blob"。我想正确的设置是 "file":
其他设置好像没问题。
今后为了避免这种情况,您可以只记录您的测试场景。您需要将要上传的文件放在 JMeter 的 "bin" 文件夹中,以便它可以在捕获文件上传请求时找到它。
参考文献:
以防万一,这就是请求 header 在 JMeter 中的样子-
解决方案:
只需将“实施”选择为“Java”或“HttpClient3.1" 解决了问题。
*注意事项:
在 "File Path" 字段中,您需要提供本地驱动器 ("C:/user/Documents/...PerfTest_file_1.pdf") 中文件位置的完整路径或将 PDF 文件放在 "bin" Jmeter 应用程序文件夹的文件夹,只需提供文件名 (PerfTest_file_1.pdf) 作为路径
“File”的参数值(在我的例子中 "blob")应该与“Parameter Name" 用于要附加的文件*