arrays - JMeter - 将文件转换为字符串到数组
问题描述
我需要执行以下操作:
- 将 .csv 文件读入变量。Csv 文件只有一行,其中包含类似 (110,111,112,113,114) 的字符串
- 使用此 String 变量,根据逗号“,”拆分内容。
我做了什么:
- 我添加了一个线程组
2a. 添加了用户定义的变量“配置元素”。
2b。添加了一个名为“issueIds”的变量,其值为 ${__FileToString(D:\TestCasesId.csv,,issueIds)}
3a。现在我添加了一个带有以下代码的 JSR223 采样器:
String lineItems1 = ${issueIds};
log.info(lineItems1);
3b。执行此操作会出现以下错误:
Response code:500
Response message:javax.script.ScriptException: In file: inline evaluation of: ``String lineItems1 = 114660,114661,114662,114663; log.info(lineItems1); ;'' Encountered "114661" at line 1, column 28.
in inline evaluation of: ``String lineItems1 = 114660,114661,114662,114663; log.info(lineItems1); ;'' at line number 1
4a。使用以下脚本添加了 BeanShell 采样器:
String lineItems2 = ${issueIds};
String[] lineItems2Arr = lineItems2.split(",");
log.info(lineItems2);
log.info(lineItems2Arr[0]);
4b。执行此操作会出现以下错误:
Response code:500
Response message:org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: ``String lineItems2 = 114660,114661,114662,114663; String[] lineItems2Arr = lineIt . . . '' Encountered "114661" at line 1, column 28.
我究竟做错了什么?
解决方案
如果所有使用的 csv 文件的逗号分隔字段数量相同,您可以考虑使用“CSV 数据集配置”而不是手动拆分。在这种情况下,您将为 csv 中的每一列提供一个单独的变量,例如
id1,id2,id3,id4,id5
110,111,112,113,114
推荐阅读
- node.js - 如何使用 node.js 仅更新 JSON 文件中的一个键
- android - zipalign:符号查找错误:/usr/lib/x86_64-linux-gnu/android/libbacktrace.so.0:未定义符号:_ZN11unwindstack12ElfInterfaceD2Ev
- react-native - 如何让drawerOpen()堆栈导航器屏幕选项
- java - 两名玩家战舰与一个板从文本文件输入
- reactjs - 如何触发路由更改功能?
- spring-el - 在 Spring Boot Admin 中为 KubernetesDiscoveryClient 指定 spring 表达式语言过滤器
- date - 谷歌表格自动解析字符串到日期......有时?
- sql-server - 执行大型 SQL 查询
- scala - 如何从外部文件将 case 语句传递给 .selectExpr("*", "all case statements") 火花代码
- javascript - 尝试使用 react 项目实现 firebase 时出错