'직장들 > Daily' 카테고리의 다른 글

Jenkins Client & QA Jobs  (0) 2018.11.16
Client Release Process Before & After  (0) 2018.11.15
사내 Agile Process  (0) 2018.11.15
Server Release Process  (0) 2018.11.15
Client QA Process  (0) 2018.11.15
SOAPUI를 이용한 API Test Automation  (0) 2018.11.14

아래와 같은 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);


$JAVA_HOME/jre/lib/ext/에 jdbc connect library를 넣어주면 된다.

+ Recent posts