我一直在尝试使用以下正则表达式提取器
Reference Name: FMSFlightPlan
Regular Expression: (?s)<FMSFlightPlan>(.*?)</FMSFlightPlan>
Template: $1$
Match No. 1
匹配 XML 中两个 FMSFlightPlan 标签之间的字符串(标签之间的行数不同,因此(?s)
建立 dotall 模式)
<FMSFlightPlan>
6500
AN NTEST/GL
- FPN/FN/RP:DA:LEMG:AA:LEXJ:F:BLN,N38092W003375.UN865.
BUGIX,N42215W003381.R753.EMANU,N42575W003469
</FMSFlightPlan>
几个测试应用程序告诉我我的正则表达式是正确的。但是,当我尝试使用 Beanshell 断言打印出捕获的字符串时,我收到错误消息:
断言错误:true 断言失败:false 断言失败消息:org.apache.jorphan.util.JMeterException:调用 bsh 方法时出错:eval 源文件:内联评估:``import java.io.*; //将数据结果写入文件 outfile = "/Users/Dani . . . '' Token Parsing Error: Lexical error at line 12, column 380. Encountered: "\n" (10), after : "\" 3811\t是\tAAR\tSTN\t835\t\t$B738\tfp,nradps,art,CCAAN,EXCD,wp00,p00\t37919\ta0\ti\t10\t0\t3\t0\t \t14\t 25 /M\t0000ADF\t140785\t133806\t006979\t01:15:00\t0484\t360\t0379\t360\t0112\t 000932\tP00 \t007115\t2013-02-13T21:23:00Z\t2013-02-1: 35:00+00:00\t000837\t00:10:00\t000000\t00:00:00\t000837\t00:10:00\t000000\t000000\t000000\t00:00:00\t000000\t00:00: 00\t"
因此,提取器似乎返回了一个字符串,但 Beanshell 断言并未将其识别为变量。为什么建立dotall模式后会出现这种情况?某处是否存在转义错误?我也不明白错误消息是什么意思
Encountered: "\n"
因为在被解析的文本中没有 \n 字符。
我曾考虑使用 XPath 提取器而不是正则表达式提取器,但听说在涉及大量操作或线程时这不是最佳选择。