API Test/SoupUI2018. 11. 23. 07:00

SOAP 프로토콜의 이해

SOAPUI 테스트 케이스를 작성하기 전에 SOAP 프로토콜에 대한 기본 사항을 설명합니다. 이렇게하면 SOAP UI를 사용하여 SOAP 요청 및 응답을 효과적으로 테스트하는 데 도움이됩니다.

SOAP는 의미 Simple Object Access Protocol아래는 SOAP 프로토콜의 속성입니다.

  • 이것은 서로 다른 두 시스템 간의 통신을위한 XML 기반 프로토콜입니다.
  • 그것은 플랫폼 및 언어 독립적입니다. 따라서 Java 를 사용하여 개발 된 시스템은 .NET에서 개발 된 시스템과 통신 할 수 있습니다.
  • SOAP 요청 / 응답은 HTTP를 통해 전송됩니다.


SOAP 메시지 형식 배우기

SOAP 메시지는 다음 요소를 포함하는 일반 XML 문서입니다. 메시지는 요청 메시지이거나 응답 메시지 일 수 있습니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

마지막 튜토리얼에서 수행 한 작업 공간을 설정 한 후에 프로젝트, 테스트 스위트, 테스트 케이스를 작성하여 주어진 웹 서비스를 테스트해야한다. 같은 일을하는 단계를 이해합시다.

프로젝트 만들기

1 단계 : 이제 프로젝트에 따라 SOAP / REST 프로토콜을 가져와야합니다. 우리는 새로운 SOAP 프로젝트를 만들 것입니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

2 단계 : SOAP 요청 다음에 사용할 것입니다 .

http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

  1. 프로젝트 이름 입력
  2. 이 경우 WSDL 요청의 경로를 입력하십시오.  http://www.webservicex.net/CurrencyConvertor.asmx?WSDL
  3. 확인을 클릭하십시오.

노트 :

  • 체크 - 모든 조작에 대한 샘플 요청 작성 '은 제공된 WSDL에서 사용 가능한 모든 조작에 대한 샘플 요청을 작성합니다. WSDL 주소를 입력하면이 옵션이 자동으로 선택됩니다. 선택을 취소 할 수 있습니다.
  • 체크 - 생성시 가져온 WSDL에 대한 테스트 슈트는 가져온 WSDL에 대해 프로젝트 내에 테스트 슈트를 생성합니다.
  • 체크 - 상대 경로 '를 사용하면 사용자가 프로젝트 파일을 기준으로 모든 파일을 저장할 수 있습니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

3 단계 : 위의 WSDL로 SOAP 프로젝트를 생성하면 프로젝트로 가져올 두 가지 작업이 있음을 알 수 있습니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

단계 4)

  1. 첫 번째 요청을 확장하고 'Request1'을 두 번 클릭하십시오. SOAP 요청을 XML 형식으로 표시합니다.
  2. 통화 및 통화를 입력하십시오.
  3. 제출 버튼을 클릭하십시오.
  4. 응답 XML이 오른쪽 창에 표시됩니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

왜 테스트 케이스를 만들까요? 웹 서비스를 직접 테스트 할 수 있다면 ...

음, 한 번의 작업에 대한 요청을 보낼 수 있습니다. 다른 사람들은 어떨까요? 이 작업을 통해 수행 할 수있는 FOREX 변환 조합 수 . 각각의 모든 조합에 대한 요청을 편집해야합니다.  

예 : USD 대신 INR로 GPB에서 INR로 변환하려면 ... 작업을 다시 편집해야합니다. 따라서 직접 조작 자체를 편집 할 필요없이 가능한 모든 시나리오를 테스트 할 수 있도록 테스트 스위트 / 케이스를 작성해야합니다.

테스트 스위트 만들기

1 단계 : 프로젝트 내에서 테스터는 프로젝트의 루트를 마우스 오른쪽 버튼으로 클릭하여 테스트 스위트를 만들 수 있습니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

2 단계 : 테스트 스위트의 이름을 입력하고 OK를 누릅니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

3 단계 : 생성 된 테스트 스위트는 아래와 같이 탐색 창에 표시됩니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

4 단계 : 테스트 창이 오른쪽 창에 열립니다. 우리가 방금 만들었던 것처럼 테스트 케이스가 없습니다. 따라서 모든 옵션이 비활성화됩니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

테스트 케이스 생성

1 단계 : 테스트 스위트 내에서 '테스트 스위트'를 마우스 오른쪽 단추로 클릭하고 '새 테스트 사례'를 선택하여 여러 개의 테스트를 작성할 수 있습니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

2 단계 : 테스트 케이스 의 이름을 지정하고 '확인'을 클릭하십시오.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

3 단계 : 생성 된 테스트 케이스는 아래 그림과 같이 0 단계가 있습니다.

참고 : 테스트 케이스에는 사용 가능한 모든 종류의 테스트에 대한 테스트 단계가 제로로 추가 된 것을 볼 수 있습니다. 테스트 단계를 추가하면 괄호 안의 숫자가 자동으로 변경됩니다. 기능 테스트 단계

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

성능 테스트 단계가 '로드 테스트'에 들어가야하고 보안 테스트 단계가 '보안 테스트'에 들어가야하는 동안 '테스트 단계'로 진행해야합니다.  

4 단계 : 테스트 단계를 마우스 오른쪽 단추로 클릭하고 적절한 테스트 단계를 선택하여 다양한 테스트 단계를 삽입 할 수 있습니다. 따라서 REST WebService를 테스트하려면 REST Test Request를 선택해야한다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

테스트 단계 삽입

 

이제 가져온 SOAP 요청의 유효성을 검사하는 테스트 단계를 추가하십시오.

1 단계 : 아래와 같이 'SOAP Test Request'단계를 새로 추가하십시오.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기 

2 단계 : 단계 이름을 입력하고 확인을 클릭하십시오.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

3 단계 : '확인'을 클릭하면 호출 할 작업을 선택하는 대화 상자가 나타납니다. 모든 작업이 나열되고 사용자가 호출 할 작업을 선택할 수 있습니다.

  • 나열 될 두 가지 작업이 있습니다. 두 가지 작업은 사용되는 SOAP 버전을 제외하고 동일합니다.

    CurrencyConvertorSoap - SOAP 버전 1.1을 사용합니다.

    CurrencyConvertorSoap12 - SOAP 버전 1.2 사용

  • 이 문맥에서는 버전이 중요하지 않습니다. 따라서 원하는 것을 선택할 수 있습니다.

    SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

  • 작업 선택시 '확인'을 클릭하십시오.

    SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

4 단계 : 테스트 케이스를 추가 하는 동안 표준 어설 션을 추가 할 수 있습니다. 어설션은 체크 포인트 / 유효성 검사 점이라고도 합니다.

테스트 케이스를 생성하는 동안 다음 체크 포인트 / 어설 션을 추가 할 수 있습니다. 기본 옵션을 사용하여 테스트 케이스를 만들자. 이는 아래의 유효성 검사 포인트가없는 테스트 단계를 만드는 것을 의미한다.

  • 테스트를 실행할 때 응답 메시지가 SOAP인지 확인합니다.
  • 응답 스키마가 유효한지 확인합니다.
  • SOAP 응답에 FAULT가 포함되어 있는지 확인합니다.

    SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

5 단계 : 테스트 케이스를 생성하면 요청 XML이 아래와 같이 표시됩니다. XML 구조는 아래의 스냅 샷에서 설명합니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기 

6 단계 : 방금 테스트 단계를 추가함에 따라 테스트 단계 수는 1로 증가합니다. 마찬가지로로드 및 보안 테스트 단계를 추가하면 추가되는 단계 수에 따라 해당 숫자가 자동으로 증가합니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

수동으로 요청 보내기 및 응답 읽기

1 단계 : 통화를 USD에서 INR로 변환하고 싶습니다.

  • FromCurrency - USD
  • 통화 가능 - INR

다음 것,

  1. 요청 XML로 전송 될 물음표 대신이 입력을 입력해야합니다.
  2. 해당 값을 해당 XML 태그에 입력 한 후 '요청 제출'버튼을 클릭하여 응답을 확인하십시오.


SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

2 단계 : 요청을 제출하면 웹 서비스 요청이 웹 서버에서 처리되고 아래와 같이 응답이 전송됩니다.

응답을 읽음으로써 우리는 1 단위의 USD = 63.525 단위의 INR로 결론 지을 수 있습니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

soap 응답 및 로그 패널 이해

이 튜토리얼의 시작 부분에서 설명한 것처럼 SOAP 메시지는 HTTP 프로토콜을 통해 전송됩니다. RAW 메시지를 살펴 보겠습니다. 이것은 우리가 SOAP 요청과 응답이 HTTP에 의해 어떻게 전송되었는지 배우는 데 도움이 될 것입니다.  

1 단계 : SOAP-UI 요청 창에서 'RAW'탭 을 클릭하십시오 .

  1. 요청은 웹 서버에 게시됩니다. 따라서 HTTP의 POST 메소드가 사용됩니다.
  2. SOAP 요청은 아래 표시된 것처럼 Http 메시지의 본문으로 전송됩니다.

 

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

2 단계 : 이제 SOAP-UI Response Window의 'RAW'탭 을 클릭 하여 HTTP를 통해 응답을 보내는 방법을 이해합니다.

  1. 요청을 처리 한 후 성공을 의미하는 HTTP 응답 코드 (200)가 표시됩니다. 웹 서버가 성공적으로 처리했습니다.
  2. SOAP 응답은 HTTP 메시지 본문의 일부로 클라이언트에 다시 전송됩니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기 

쉬운 이해와 디버깅을위한 Http Response 코드의 빠른 스냅 샷. 아래 표는 웹 서버에서받은 HTTP 코드를 기반으로 촬영하는 데 도움이됩니다.  

HTTP 코드

기술

1xx :

정보 제공 - 요청을 받았음을 의미하며 계속 진행됩니다.

2xx :

성공 - 행동이 성공적으로 받아 들여지고 이해되었으며 받아 들여졌습니다.

3xx :

리디렉션 - 요청을 완료하기 위해 추가 조치가 취해 져야 함을 의미합니다.

4xx :

클라이언트 오류 - 요청에 잘못된 구문이 있거나 충족 될 수 없음을 나타냅니다.

5xx :

서버 오류 - 서버가 명백하게 유효한 요청을 이행하지 못했습니다.

 

3 단계 : 테스트 케이스 창에 표시된 다른 정보를 이해합시다.

  1. 전송중인 요청에 NO 헤더를 표시합니다.
  2. 웹 서버에 전송되는 요청의 첨부 파일이 없음을 나타냅니다.
  3. 12 개의 헤더 정보를 나타내며 이를 클릭하면 표시됩니다.
  4. 응답 메시지의 첨부 파일이 없음을 나타냅니다.

 

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기 

로그 패 :  

로그 창에는 클라이언트와 서버 간의 트랜잭션에 관한 완전한 정보가 있습니다. 사용자는 아래와 같이 로그 창의 탭을 볼 수 있습니다. SOAP-UI로 작업 할 때 가장 일반적으로 사용되는 로그 창에 대해 설명합니다.  

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

SoapUI Log - 웹 서버의 응답 정보를 표시합니다. 동일한 정보가 'bin'디렉토리 아래 SOAP-UI 설치 폴더의 soapui.log 파일에 저장됩니다.  

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기 

HTTP 로그 - 모든 HTTP 패킷 전송을 표시합니다. 'RAW'의 모든 정보는 HTTP 로그에 표시됩니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기

오류 로그 - 오류 로그는 전체 프로젝트 세션 중에 발생한 모든 오류를 표시합니다. 동일한 정보는 SOAP UI가 설치된 위치의 'bin'디렉토리에있는 'soapui-errors.log'에서 사용할 수 있습니다.

Memory Log (메모리 로그) - 이 탭은 메모리 사용량을 모니터링하고 아래와 같이 차트 형식으로 표시합니다. 이것은 메모리 집약적 인 연산이 수행 될 때 매우 유용합니다.

SoapUI 자습서 : 프로젝트, 테스트 스위트, TestCase 만들기 

이제 테스트 스위트, 테스트 케이스, 테스트 단계를 만들고 응답을 얻었으므로 다음 단계는 응답의 유효성을 검사하는 것입니다. 우리는 다음 튜토리얼에서 어설 션 유형을 다룰 것이다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터