본문 바로가기
Open Sources/[API] Soapui

unable to resolve class com.jayway.jsonpath.JsonPath Error

by 화뉘 2017. 5. 31.

아래와 같은 Groovy script를 작성할 경우, Command로 돌릴 경우에 Error가 발생한

import groovy.json.JsonSlurper;

import com.eviware.soapui.support.types.StringToStringMap;

import static com.jayway.jsonpath.JsonPath.parse

 

def responseContent = testRunner.testCase.getTestStepByName("signin").testRequest.response.contentAsString;

def access_token = parse(responseContent).read('token.access_token');

def token_type = parse(responseContent).read('token.token_type');


def auth=token_type+" "+access_token;

log.info(auth);


def headers = new StringToStringMap();

headers.put("Authorization", auth);


testRunner.testCase.getTestStepByName("coupons").testRequest.setRequestHeaders(headers);

ERROR [SoapUI] An error occured [startup failed:

Script1.groovy: 3: unable to resolve class com.jayway.jsonpath.JsonPath

 @ line 3, column 1.

   import static com.jayway.jsonpath.JsonPath.parse

   ^

org.codehaus.groovy.syntax.SyntaxException: unable to resolve class com.jayway.jsonpath.JsonPath

 @ line 3, column 1. 

이 경우 해당 라이브러리를 못찾아서 발생하는 문제이다, SOAPUI UI에서 실행할 땐 발생 안하다가 Command로만 돌릴 경우에 발생한다.

이럴 경우 라이브러리를 변경한다.

import groovy.json.JsonSlurper;

import com.eviware.soapui.support.types.StringToStringMap;

import com.eviware.soapui.support.XmlHolder

import groovy.json.*


def responseContent = testRunner.testCase.getTestStepByName("signin").testRequest.response.contentAsString;

def json = new JsonSlurper().parseText (responseContent)


def access_token = json.token.access_token;

def token_type = json.token.token_type;


def auth=token_type+" "+access_token;

def headers = new StringToStringMap();

headers.put("Authorization", auth);


testRunner.testCase.getTestStepByName("profile").testRequest.setRequestHeaders(headers);


댓글