2017-07-19 27 views

回答

0

在Java(/ BeanShell的)在字符串內雙反斜槓\將代表一個反斜槓。

因此,例如在JSR223採樣或BeanShell的採樣

Var1 = "ABCD\\EF\\DE"; 
Var1 = Var1.replace("\\", "\\\\"); 

你會看到響應ABCD \ EF \ DE,你需要它運行。

+0

我曾嘗試創建Bean Shell後處理器,並添加了 String x = var1; x = x.replace(「\\」,「\\\\」); var1 = x; log.info(x); 錯誤:錯誤 - jmeter.util.BeanShellInterpreter:錯誤調用bsh方法:eval \t源文件:內聯評估:「String x =」BRANCH \ UP \ SUBS \ 0453 \ v1 \ v1.1a「; x = x.replace(「\」,「\\」); 「BRANCH \ UP ...」令牌解析錯誤:第1行第20列出現詞法錯誤。遇到:「U」(85),之後:「\」BRANCH \\「 您可以詳細說明解決方案嗎? –

+0

我不認爲你需要x。使用var1 = var1.replace(「\\」,「\\\\」); – user7294900

+0

我已經使用BeanShell取樣器到 –

1

有因爲JMeter 3.1可用的新__groovy() function,您可以運行任意的Groovy腳本有,例如:

  1. 只是添加斜線回${Var1}變量的值:

    ${__groovy(vars.get('Var1').replace('\\\'\, '\\\\\\\'),)} 
    
  2. 更新${Var1}變量與新值包含額外的斜槓:

    ${__groovy(vars.put('Var1'\,vars.get('Var1').replace('\\\'\, '\\\\\\\')),)} 
    

演示:

Groovy update JMeter Variable

也知道通過JMeter Plugins項目提供__strReplace()功能。

+0

哇,這對我有很大的幫助和啓發。 (7個反斜槓的序列出於我的想象) 但是,這是Java,所以根本不需要反斜槓,因爲文件路徑可以使用常用斜線: '.replace('\\\ '\,'/')' – Franta