2017-05-12 1 views
1

HTTP 요청을 보내기 위해 Katalon studio를 사용하고 있습니다. 요청을 보내기 전에 json 객체의 본문을 편집하고 싶습니다.HTTP 본문을 설정하는 방법 - 문자열에 json을 추가 할 때 원하는 응답을 얻지 못합니다.

JSON - 바디

{ 
    "properties":{}, 
    "routing_key":"actions.process.x.1", 
    "payload": "{ 
    \"type\":\"SEND_TWEET\", 
    \"twitterAccessTokens\":{ 
     \"token\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfhfjr3433rcI\", 
     \"secret\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfhfjr3433rcI\" 
    }, 
    \"screenName\":\"D123\", 
    \"text\":\" #automation_br test test test 111\" 
    }", 
    "payload_encoding":"string" 
} 

몸을 편집하지 않고 요청을 전송 : 올바른 JSON은

def originalBody = request.getHttpBody() 
System.out.println('O_Body: ' + originalBody) 

Response: Start action : Statement - out.println("O_Body: " + originalBody) 

{ 
    "properties":{}, 
    "routing_key":"actions.process.x.1", 
    "payload": "{ 
    \"type\":\"SEND_TWEET\", 
    \"twitterAccessTokens\":{ 
     \"token\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfhfjr3433rcI\", 
     \"secret\":\"abzzzzzzzzzUS38IHg3wvT7fhd63hdh3y4hfhfjr3433rcI\" 
    }, 
    \"screenName\":\"D123\", 
    \"text\":\"hello test test test 1 2 3\" 
    }", 
    "payload_encoding":"string" 
} 

를 인쇄 내가 HTTP 본문을 편집하고 내 자신의 탈출 문자열을 추가 할 때 생성 된 추가 변수는 다음 출력을 얻습니다.

//String 
String Body = '{\n "properties":{},\n"routing_key":"actions.process.x.1",\n"payload":"{\n  \\"type\\":\\"SEND_TWEET\\" ,\n \\"twitterAccessTokens\\":{\n  \\"token\\":\\"845259605840183297-O0RYViNU5mCt0WutyWdo4URGyiQLMjI\\",\n  \\"secret\\":\\"78Qy1FQ26YEHMpSiMEUS38IHg3wvTLdDhwdDy0kF55rcI\\" \n },\n  \\"screenName\\":\\"Deane56935078\\",\n \\"text\\":\\"@Deane56935078  #automation_br ' + randomString + ' \n}",\n "payload_encoding":"string" \n}' 
System.out.println('Body: ' + Body) 

//Change HTTP Body 
request.setHttpBody(Body) 

출력 :

"{ 
"properties":{}, 
"routing_key":"actions.process.x.1", 
"payload":"{ 
\"type\":\"SEND_TWEET\" , 
\"twitterAccessTokens\":{ 
\"token\":\"845259605840183297-O0RYViNU5mCt0WutyWdo4URGyiQLMjI\", 
\"secret\":\"78Qy1FQ26YEHMpSiMEUS38IHg3wvTLdDhwdDy0kF55rcI\" 
}, 
\"screenName\":\"Deane56935078\", 
\"text\":\"@Deane56935078 #automation_br " + randomString + " 
}", 
"payload_encoding":"string" 
}" 

본문을 편집 한 후 json은 시작과 끝에서 쉼표를 뒤집습니다. 임의의 문자열 값이 인쇄되지 않고 대신 인쇄됩니다. 문자열

+1

를 교체해야 사용, 당신은 잊었 귀하가 만든 페이스트 중 하나에서 트위터 API 키를 편집하십시오. – zack6849

답변

1

를 JSON을 사용하는 경우

사람은 당신이 테스트 케이스를 통해 사용할 수 있도록 문자열을 탈출하는 사용자 정의 키워드를 만들 수있는 문자의 탈출을 도와 주 시겠어요. 이 topic는 당신이 필요로하는 기능을 가지고, 또는 테스트 케이스에 사용 jettison

, 당신은 당신이 즉시 API 키를 다시 생성해야

\”text\”:\”@Deane56935078 #automation_br " + randomString + " 

Customkeywords.quote("@Deane56935078 #automation_br " + randomString); 
관련 문제