jmeter - JMeter:在 HTTP 请求中使用字符串数组的 props.get
问题描述
在我BeanShell PreProcessor
的POST
请求中,我有以下代码:
String[] serversName = new String[]{"FrontEnd", "BackEnd"};
props.put("serversName",serversName);
现在,在我的POST请求的正文数据中,我需要调用(假设我只需要第一个元素)。我试着这样称呼它:serverNames
{
"properties": {
"name": ${props.get(serversName[${serverIndex}])},
"ram": 1024,
"cores": 1,
"cpuFamily": "AMD_OPTERON",
"availabilityZone": "AUTO"
}
使用${props.get(serversName[0])
但它抱怨BAD Request 400!
当我在侦听器中检查我的请求时,如下所示:
POST data:
{
"properties": {
"name": ${props.get(serversName[0])},
"ram": 1024,
"cores": 1,
"cpuFamily": "AMD_OPTERON",
"availabilityZone": "AUTO"
}
如何在我的请求中访问 props 变量?
解决方案
您可以按照JMeter 的方式进行操作,方法是设置按顺序排列的字符串serversName_[sequence_number]
String[] serversName = new String[]{"FrontEnd", "BackEnd"};
for (int i=0; i < serversName.length; i++) {
props.put("serversName_" + i, serversName[i]);
}
然后只是获得财产${__P
:
${__P(serversName_${serverIndex})}
推荐阅读
- flutter - Listview.Builder 多次显示小部件
- nginx - 如何在 Nginx 服务器上使用基本身份验证保护文件夹位置
- javascript - Netsuite 从邮件中删除附件
- firebase - Firebase ml vision 停产后如何使用 Google ML Kit?
- sql - 如何在sql中“不选择值”?
- html - 如何使用 CSS 网格制作方形图像容器
- flutter - 我在颤动中遇到了borderRadius的问题
- python - 使用 pandas 系列作为输入参数
- python - 带有活动virtualenv的python模块上的vscode调试器,“错误:无法识别的开关”对于我要传递给程序的参数?
- python - 在 ATOM 上为 python 安装包(linter 和 autopep8)