/*

 * https://thetestsuite.wordpress.com/2013/09/30/soapui-groovy-slurping-json-in-script-assertions/

*/

//imports

import groovy.json.JsonSlurper

 

//grab the response

def ResponseMessage = messageExchange.response.responseContent

def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)

 

//verify the slurper isn't empty

assert !(jsonSlurper.isEmpty())


//verify the Id, Type and Guid aren't null

assert jsonSlurper.data.messages.msg != null

assert jsonSlurper.data.confidenceScore != null

assert jsonSlurper.data.nluResult != null


def nluResultSlurper = new JsonSlurper().parseText(jsonSlurper.data.nluResult)

assert !(nluResultSlurper.isEmpty())

assert nluResultSlurper.text != null


def score = jsonSlurper.data.confidenceScore

def msg = jsonSlurper.data.messages.msg

def text = nluResultSlurper.text


if( score >= 0.8 ) //  등록된 응답

{

assert jsonSlurper.data.messages.msg.contains("인간의 수명은 길어졌지만 병과 사고는 더 많아졌습니다. 급작스런 투병이나 사고로부터 나와 내 가족을 지키기 위해 보험은 필수입니다.")

}

else if( score >= 0.6 && score < 0.8 ) // 재질문

{

assert jsonSlurper.data.messages.msg.contains("보험이 왜 필요한지 알려드릴까요?")

}

else if( score < 0.6 ) // 상담사 연결 응답

{

assert jsonSlurper.data.messages.msg.contains("원하시는 답변 드리지 못해 죄송합니다.\n전문 상담사가 도와 드리겠습니다.")

}



/////////////////////////////////////////////////////////////////////////////////////

{"data":{"confidenceScore":0.88,"isTalkOpen":false,"nluResult":"[{\"text\":\"요즘 저가 보험 어떤거야\",\"error\":{\"message\":\"\",\"code\":0},\"asr_rank\":0,\"nlu_nbest\":[{\"action_kr\":\"search.insurance.by_price\",\"confidence_score\":0.88,\"status\":\"accept\",\"action\":\"search.insurance.by_price\",\"domain\":\"finance\",\"entities\":[{\"text\":\"요즘\",\"role\":\"DATETIME\",\"type\":\"TI_RECENT\",\"type_kr\":\"시간(최신)\"},{\"text\":\"저가\",\"role\":\"\",\"type\":\"PRICE_LOW\",\"type_kr\":\"가격\"},{\"text\":\"보험\",\"role\":\"PRODUCT\",\"type\":\"FP_CATEGORY\",\"type_kr\":\"FP_CATEGORY\"}]}]}]","errorCode":0,"messages":[{"flag":"B","seq":1,"type":"CEV","cdate":"20170207104250","msg":"저희 보험사를 이용하시면 좋은 보험을 저렴하게 이용하실 수 있습니다. \u003ca href \u003d \u0027http://www.anycardirect.com/m/index.html\u0027 target\u003d\u0027_blank\u0027\u003e 자세히 보기 \u003c/a\u003e"}]},"errorCode":0}

/////////////////////////////////////////////////////////////////////////////////////

블로그 이미지

요다할아범

,