我一直在嘗試使用下面的正則表達式提取與
Reference Name: FMSFlightPlan
Regular Expression: (?s)<FMSFlightPlan>(.*?)</FMSFlightPlan>
Template: $1$
Match No. 1
兩個FMSFlightPlan標籤之間的字符串匹配的XML(線的標記之間的數量而變化,因此,BeanShell的錯誤信息在(?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斷言打印出拍攝的字符串我得到的錯誤信息:
Assertion error: true Assertion failure: false Assertion failure message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.io.*; //write out the data results to a file outfile = "/Users/Dani . . . '' Token Parsing Error: Lexical error at line 12, column 380. Encountered: "\n" (10), after : "\"3811\tYes\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-14T08: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提取器而不是正則表達式提取器,但是聽說當涉及很多操作或線程時,這不是最佳的。
[Jmeter正則表達式可變行數]的可能的副本(http://stackoverflow.com/questions/14165239/jmeter-regex-variable-number-of-lines) – 2013-02-19 07:12:45