2017-01-16 66 views
0

我有一個JSON響應如下一個POST的身體,如何逃生 r n在JMeter的

{ "name":"John Smith", "address": "#123\r\nRenault Road\r\n123456\r\n" }

,我需要提取的地址,並把它放到我的下一個POST請求。我使用JSON提取器作爲後處理元素,並使用$..address將提取的地址設置爲變量address

在我的下一個請求,我用下面的POST數據,

{ "id": "123456", "address": "${address}" }

所以,當我讓我看到POST數據作爲請求,

{ "id": "123456", "address": "#123 Renault Road 123456 " }

這在我的後端休息,然而這個有效載荷也沒有被識別爲有效的JSON。

我想提出請求,以使POST數據如下,

{ "id": "123456", "address": "#123\r\nRenault Road\r\n123456\r\n" }

任何幫助來完成這件事的高度讚賞。

回答

1

如果您確實需要將這些換行符發送爲\r\n,則可以使用一些腳本將其轉換回來。

  1. 添加Beanshell PreProcessor爲「下一個請求」的孩子HTTP Request
  2. 將下面的代碼放入預處理器的「腳本」區域:

    address = vars.get("address"); 
    address = address.replaceAll("\\r\\n","\\\\r\\\\n"); 
    vars.put("address", address); 
    

以上腳本將轉換換行符到文本表示。

參考文獻:

如何使用Java和JMeter的API的