로스트아크 API 에서 response 값을 다른 request 값으로 보내기.

2024. 6. 9. 16:14·postman&API
  1. 아래 링크중 Auction_get 의 response 값을 받기
    참고 링크 : https://rusharp.tistory.com/83
    1. Environment 에 검색할 어빌리티 스톤의 값 입력하기
    2. response 값에서 필요한 값 정제하기
      참고 링크 : https://rusharp.tistory.com/81/ 의 2-2번
      • 어빌리티 스톤의 값 배열로 변환
        // 어빌리티 스톤의 값 (각성,중갑 착용)
        let stone_options = pm.environment.get("stone_options").split(",");


      • Auction_post 에 보낼 "각성", "중갑 착용" 에 해당되는 코드값 Environment Variable 로 입력
        var response = pm.response.json();
        
        // 어빌리티 스톤의 값 (각성,중갑 착용)
        let stone_options = pm.environment.get("stone_options").split(",");
        
        // `각성`과 `중갑 착용` 값을 가진 Value 변수에 삽입.
        // response 값 중에서 Etcoptions 를 가진 배열을 각 요소에 대해 콜백 함수 실행.
        // python 으로 따지면 for option in response.EtcOptions 와 비슷함.
        response.EtcOptions.forEach(option =>{
            // 하위에 EtcSubs 가 있는지 확인 && Text 값이 "각인 효과" 인지 확인함.
            if (option.EtcSubs && option.Text == "각인 효과"){
                // 각 option 값 중에서 하위의 각 요소에 대해 콜백 함수 실행.
                option.EtcSubs.forEach(sub =>{
                    // 각각의 값을 secondoption 에 각각 push 함.
                    if(sub.Text == stone_options[0] || sub.Text == stone_options[1]){
                        secondoption.push(sub.Value);
                        console.log("검색된 Value 값:", sub.Value);
                    }
                })
            }
        })
        
        pm.environment.set("secondoption",  secondoption);
      • 어빌리티 스톤에 해당하는 code 값 Environment Variable 로 입력
        var response = pm.response.json();
        
        // 어빌리티 스톤에 포함되는 카테고리 번호
        let categories_code
        
        response.Categories.forEach(option =>{
            if (option.CodeName == "어빌리티 스톤"){
                categories_code = option.Code
                console.log("어빌리티 스톤의 code 값 : ", option.Code)
            }
        })
        
        pm.environment.set("categories_code", categories_code);


      • 하단 console 값 확인
  2. Auction_post 의 requests 값으로 보내기
    1. requests 에 보내기 전에 배열의 값 직접 설정하기
      • Postman 에서 환경변수나 전역 변수를 사용할 때 배열 요소에 접근하는 방식은 지원되지 않음.
      • pre-request 에서 값을 추출하여 Body에 삽입하는 방식으로 진행.
        let temp = JSON.parse("[" + pm.variables.get("secondoption") + "]");
        
        pm.environment.set("SO_1", temp[0]);
        pm.environment.set("SO_2", temp[1])
        • 참고로 `let stone_options = pm.environment.get("stone_options").split(",");` 와 다르게
          `let temp = JSON.parse("[" + pm.variables.get("secondoption") + "]");` 로 값을 받아온 이유는,
           위에는 문자열 형식이고, 아래는 숫자 형식이기 때문임.
        • 만약 JSON.parse 를 사용하고 싶다면 "각성", "중갑 착용" 으로 입력해야 함.
    2. Body 값 입력
      {
        "ItemLevelMin": 0,
        "ItemLevelMax": 1700,
        "ItemGradeQuality": null,
        "SkillOptions": [
          {
            "FirstOption": null,
            "SecondOption": null,
            "MinValue": null,
            "MaxValue": null
          }
        ],
        "EtcOptions": [
          {
            "FirstOption": 3,
            "SecondOption": {{SO_1}},
            "MinValue": null,
            "MaxValue": null
          },
          {
            "FirstOption": 3,
            "SecondOption": {{SO_2}},
            "MinValue": null,
            "MaxValue": null
          }
        ],
        "Sort": "BIDSTART_PRICE",
        "CategoryCode": {{categories_code}},
        "CharacterClass": "바드",
        "ItemTier": null,
        "ItemGrade": "유물",
        "ItemName": null,
        "PageNo": 0,
        "SortCondition": "ASC"
    3. 결과 값을 Test Results 로 출력
      1. Post-response 코드 내용
        let stone_options = pm.environment.get("stone_options").split(",");
        
        pm.test("입력한 값과 동일한 어빌리티 스톤 검색", function () {
            var jsonData = pm.response.text();
            pm.expect(jsonData).to.include(stone_options[0]);
            pm.expect(jsonData).to.include(stone_options[1]);
        });


      2. Test Results 값 확인

'postman&API' 카테고리의 다른 글

로스트아크 API를 사용하여 매시간 보석 가격 확인하기  (1) 2024.06.12
postman runner 을 사용하여 여러 변수를 한번에 테스트하기  (0) 2024.06.11
로스트아크 API 사용하기  (0) 2024.06.08
Postman naver API 내용을 Python으로 코딩해보기.  (0) 2024.06.07
postman 다양한 기능 알아보기  (0) 2024.06.06
'postman&API' 카테고리의 다른 글
  • 로스트아크 API를 사용하여 매시간 보석 가격 확인하기
  • postman runner 을 사용하여 여러 변수를 한번에 테스트하기
  • 로스트아크 API 사용하기
  • Postman naver API 내용을 Python으로 코딩해보기.
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (181) N
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (33)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
        • 제4회 QA conference (3)
      • 에러일기 (1)
      • Server&load (35)
        • AWS (27)
        • load test (5)
        • CI CD (3)
        • Jmeter (0)
      • RAG 을 활용하여 LLM 만들어보기 (5) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    공존성테스트
    네트워크 테스트
    QAKOREA
    LOSTARK
    도커
    k8s
    qa 컨퍼런스
    linux
    테스트 결과보고서
    스터디
    리눅스
    cka
    python
    API
    .cpu
    e2c
    qa conference
    사드웨어리소스
    애플리케이션로그
    postman
    qa
    로스트아크api
    application log
    앱공존성
    로스트아크
    포스트맨
    쿠버네티스
    테스트스크립트
    vi에디터
    개발자에서아키텍트로
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
로스트아크 API 에서 response 값을 다른 request 값으로 보내기.
상단으로

티스토리툴바