2016-07-13 3 views
-1

나는 SOUPUI에 대해 매우 익숙하며 restapi에 대한 응답을 읽을 수 있으며 파일에 저장할 수 있습니다. 응답에서 값을 저장하려고합니다. . 도와주세요.SOUPUI를 사용하여 Json 응답에서 특정 값을 얻는 방법

내 질문 :

    나는 다음과 같은 응답에서 임의의 employeeId를 (무작위 employeeId를 중 하나를 선택)를 저장할 수있는 방법
  1. .?
  2. 직원 이름을 사용하여 특정 employeeId를 얻는 방법 ("firstName"이름이 "Daitha"인 경우 "employeeId"를 얻고 싶습니다.)?
  3. 배열을 사용하여 employeeId를 읽는 방법 (첫 번째, 두 번째 ..employeeId와 유사)? 다음

샘플 응답입니다 : 사전에

{ 
    "response": { 
     "stat": "SUCCESS", 
     "result": { 
      "employees": [{ 
       "employeeId": "7d58129a-5ca3-4acd-a601-11478ba47988", 
       "firstName": "Daitha", 
       "lastName": "shankar", 
       "loginName": "[email protected]", 
       "mobileNumber": "xxxxxxxxxxxx", 
       "emailId": "[email protected]", 
       "rowStatus": "A", 
       "assetCount": 3087, 
       "canUseapp": "Y", 
       "supportUserInd": "N" 
      }, { 
       "employeeId": "e2dec6de-8882-4c5b-a875-41fffe8e977f", 
       "firstName": "john", 
       "lastName": "deo", 
       "loginName": "[email protected]", 
       "emailId": "[email protected]", 
       "rowStatus": "A", 
       "assetCount": 0, 
       "canUseapp": "Y", 
       "supportUserInd": "N" 
      }, { 
       "employeeId": "9a9e7ff6-edb7-402a-bed2-27e9036a716f", 
       "tenantBadgeId": "EMP11659824", 
       "firstName": "suman", 
       "lastName": "m", 
       "loginName": "[email protected]", 
       "mobileNumber": "xxxxxx", 
       "emailId": "[email protected]", 
       "rowStatus": "A", 
       "designation": "software QA engineer", 
       "assetCount": 0, 
       "canUseapp": "Y", 
       "supportUserInd": "N" 
      }, { 
       "employeeId": "9ecf7fc8-c06d-4e3c-a3a3-d2c50509c16b", 
       "firstName": "vinay", 
       "lastName": "B", 
       "loginName": "[email protected]", 
       "emailId": "[email protected]", 
       "rowStatus": "A", 
       "assetCount": 0, 
       "canUseapp": "Y", 
       "supportUserInd": "N" 
      }] 
     } 
    } 
} 

감사

+0

문제점을 해결할 수있는 그루비 스크립트를 제안 해주십시오. –

답변

1

샨은,

아래 그루비 스크립트를 사용하여 주위를 재생할 수 있습니다

import groovy.json.JsonSlurper 
def responseContent = testRunner.testCase.getTestStepByName("Emp").getPropertyValue("response") 
def r = new JsonSlurper().parseText(responseContent) 
def employeesSize = r.response.result.employees.size() 
//log.info "employee size:"+employeesSize 
def list=new Object[4] 
for(int i=0;i<employeesSize;i++) 
{ 
    //log.info r.response.result.employees[i].firstName 
    list[i] = r.response.result.employees[i].lastName 
    log.info list[i] 
} 
//log.info(list[3]) 
//log.info "stat:"+r.response.stat 
for(int i=0;i<list.size();i++) 
{ 
    //list.each{log.info(it)} 
    def p=list[i] 
    if(p=="vinay") 
    { 
     //log.info "yes" 
     log.info r.response.result.employees[i].employeeId 
    } 
    else 
    { 
     //log.info "no" 
    } 
} 
//log.info r.response.result.employees[0].size() 
def listempdata = r.response.result.employees[0] 
//log.info listempdata 
def k =new Object[r.response.result.employees[0].size()] 
for(int j=1;j<r.response.result.employees[0].size();j++){ 
    //k[j]=listempdata.each{it}.toString().split(",") 
    //listempdata.each{log.info (it)} 
    //log.info listempdata.lastName 
} 
+0

감사합니다. Kiran, 그 잘 작동합니다 .. –

1
<!DOCTYPE html> 
<html> 
<body> 

<p>How to create a JavaScript object array.</p> 

<p id="demo"></p> 

<script> 
var employees = '[{"employeeId": "7d58129a-5ca3-4acd-a601-11478ba47988","firstName": "Daitha","lastName": "shankar","loginName": "[email protected]","mobileNumber": "xxxxxxxxxxxx","emailId": "[email protected]","rowStatus": "A","assetCount": 3087,"canUseapp": "Y","supportUserInd": "N"}, {"employeeId": "e2dec6de-8882-4c5b-a875-41fffe8e977f","firstName": "john","lastName": "deo","loginName": "[email protected]","emailId": "[email protected]","rowStatus": "A","assetCount": 0,"canUseapp": "Y","supportUserInd": "N"}, {"employeeId": "9a9e7ff6-edb7-402a-bed2-27e9036a716f","tenantBadgeId": "EMP11659824","firstName": "suman","lastName": "m","loginName": "[email protected]","mobileNumber": "xxxxxx","emailId": "[email protected]","rowStatus": "A","designation": "software QA engineer","assetCount": 0,"canUseapp": "Y","supportUserInd": "N"}, {"employeeId": "9ecf7fc8-c06d-4e3c-a3a3-d2c50509c16b","firstName": "vinay","lastName": "B","loginName": "[email protected]","emailId": "[email protected]","rowStatus": "A","assetCount": 0,"canUseapp": "Y","supportUserInd": "N"}]'; 

var arr = JSON.parse(employees); 
    var i; 
    var out = "<table>"; 

    for(i = 0; i < arr.length; i++) { 

    if(arr[i].firstName=="Daitha") 
    { 
     out += "<tr><td>" + 
     arr[i].employeeId + 
     "</td><td>" + 
     arr[i].firstName + 
     "</td></tr>"; 
    }  
    } 
    out += "</table>"; 
    document.getElementById("demo").innerHTML = out; 
</script> 

</body> 
</html> 
관련 문제