2016-01-13 2 views
0

кто может помочь добавить бежать кавычки с косыми чертами, как \»на этом сын теле:Beanshell тело для JSON методы поста на Jmeter

{ 
    "firstName": "teo", 
    "lastName": "leo", 
    "companyName": "abc", 
    "restaurantId": "54d34443e4b0382b3208703d", 
    "phones": [ 
    { 
     "label": "Mobile", 
     "value": "123456789", 
     "countryCode": "+123", 
     "isPrimary": true 
    } 
    ], 
    "addresses": "haha" 
} 

Я пытался с этим, но beanShell PreProcessor не может принять его

String formvalues = "{\"firstName\": \"teo\",\"lastName\": \"leo\",\"companyName\": \"abc\",\"restaurantId\": \"54d34443e4b0382b3208703d\",\"phones\": [{\"label\":\"Mobile\",\"value\": \"123456789\",\"countryCode\": \"+123\",\"isPrimary\": true}],\"addresses\": \"haha\"}" 

благодарит вас так много

+0

Затем замените '' '' '' 'перед тем, как передать его beanShell –

ответ

0

Если вы хотите сохранить форматирование:

String formvalues = "{\n" + 
     " \"firstName\": \"teo\",\n" + 
     " \"lastName\": \"leo\",\n" + 
     " \"companyName\": \"abc\",\n" + 
     " \"restaurantId\": \"54d34443e4b0382b3208703d\",\n" + 
     " \"phones\": [\n" + 
     " {\n" + 
     "  \"label\": \"Mobile\",\n" + 
     "  \"value\": \"123456789\",\n" + 
     "  \"countryCode\": \"+123\",\n" + 
     "  \"isPrimary\": true\n" + 
     " }\n" + 
     " ],\n" + 
     " \"addresses\": \"haha\"\n" + 
     "}"; 

Если вы хотите одну строку (неважно, что Content-Length будет отличаться)

String formvalues = "{\"firstName\":\"teo\",\"lastName\":\"leo\",\"companyName\":\"abc\",\"restaurantId\":\"54d34443e4b0382b3208703d\",\"phones\":[{\"label\":\"Mobile\",\"value\":\"123456789\",\"countryCode\":\"+123\",\"isPrimary\":true}],\"addresses\":\"haha\"}"; 

Полный код для создания тела и добавить его в качестве параметра:

import org.apache.jmeter.config.Arguments; 
import org.apache.jmeter.protocol.http.util.HTTPArgument; 

String formvalues = "{\n" + 
      " \"firstName\": \"teo\",\n" + 
      " \"lastName\": \"leo\",\n" + 
      " \"companyName\": \"abc\",\n" + 
      " \"restaurantId\": \"54d34443e4b0382b3208703d\",\n" + 
      " \"phones\": [\n" + 
      " {\n" + 
      "  \"label\": \"Mobile\",\n" + 
      "  \"value\": \"123456789\",\n" + 
      "  \"countryCode\": \"+123\",\n" + 
      "  \"isPrimary\": true\n" + 
      " }\n" + 
      " ],\n" + 
      " \"addresses\": \"haha\"\n" + 
      "}"; 

Arguments arguments = new Arguments(); 
arguments.addArgument(new HTTPArgument("",formvalues));  
sampler.setArguments(arguments); 

JavaDoc на соответствующие классы:

См How to Use BeanShell: JMeter's Favorite Built-in Component руководство для получения дополнительной информации о Beanshell сценариев в JMeter.

+0

wow, спасибо вам большое, я создал правильное тело json для метода http post с помощью _" Если вам нужна одна строка (помните, что Content -Length будет отличаться) «_ попробует другие, которые вы предлагаете: D – Chuoi