API Test/SoupUI2020. 9. 8. 08:00

SoapUI의 속성은 무엇입니까?

앞서 설명한 것처럼 SoapUI는 속성을 추가하고 사용하는 기능을 제공합니다.

 

SoapUI의 속성 은 다음을 수행하는 데 도움이 됩니다.

  • 속성은 엔드 포인트, 로그인 자격 증명 등과 같은 구성을 저장할 수 있으므로 쉽게 관리할 수 ​​있습니다. 또한 이들 중 하나라도 변경될 경우 한 곳에서만 변경하면 됩니다.
  • 속성은 테스트 단계 / 어선 션에 대한 입력으로 작동할 대상 서비스의 응답에서 값 / 데이터를 받습니다.

모든 속성 SoapUI는 절대적으로, 그들은 에서 제공하는 내장에-여부에 따라 두 가지 유형의 수 있습니다 SoapUI 또는 사용자에 의해 정의된다. 아래 그림은 SoapUI의 광범위한 속성 분류를 보여줍니다.

 

예제를 통해 이러한 유형의 속성에 대해 자세히 이해하겠습니다. 가정 우리가 만든 SOAP이나 REST의 프로젝트 SoapUI을  에 대한 REST 서비스 또는 SOAP 서비스 , 문서에 정의된 " SoapUI 프로젝트."

이제 SoapUI 프로젝트에서 Default  Custom 속성을보고, 정의하고, 사용하는 방법을 이해하겠습니다.

 

 

SoapUI의 기본 속성

SoapUI의 기본 속성은 새 프로젝트를 만드는 즉시 SoapUI와 함께 기본적으로 제공되는 속성입니다." 프로젝트 내비게이터"의 맨 아래 섹션에서 모든 기본 특성을 볼 수 있습니다." 프로젝트 내비게이터"에서 선택한 섹션에 따라 다양한 속성이 표시됩니다.다음 섹션에서는 이러한 속성 중 일부가 아래에 나와 있습니다.

 

작업 공간 기본 속성 :

 프로젝트 내비게이터”에서  작업 공간 ”을 선택하면 아래와 같이 작업 공간에 대한  기본 특성 ”이 표시됩니다.

 

이러한 속성은 선택한 작업 영역의 모든 프로젝트 및 프로젝트 요소에 액세스 할 수 있습니다.

 

 

프로젝트 기본 속성 :

" 프로젝트 내비게이터"에서 " 프로젝트 "를 선택하면 아래와 같이 프로젝트에 대한 " 기본 속성 "이 표시됩니다.

 

이러한 속성은 선택한 프로젝트의 요소에 액세스 할 수 있습니다.

 

 

서비스 기본 속성 :

" Project Navigator "에서 " WebService "를 선택하면 아래와 같이 WebService에 대한 " 기본 속성 "이 표시됩니다.

 

이러한 속성은 선택한 WebService 아래의 메서드에 액세스 할 수 있습니다.

 

 

리소스 기본 속성 :

 Project Navigator ”에서  WebService ”를 선택하면 아래와 같이 WebService에 대한  Default Properties ”가 표시됩니다.

 

이러한 속성은 WebService의 선택된 리소스 아래에 있는 요소에 액세스 할 수 있습니다.

 

 

메서드 기본 속성 :

 Project Navigator ”에서  WebService ”를 선택하면 아래와 같이 WebService에 대한  Default Properties ”가 표시됩니다.

 

이러한 속성은 WebService의 선택된 메서드 아래에 있는 요소에 액세스 할 수 있습니다.

 

 

기본 속성 요청 :

 Project Navigator ”에서  WebService ”를 선택하면 아래와 같이 WebService에 대한  Default Properties ”가 표시됩니다.

 

이러한 속성은 WebService의 선택된 요청에 따라 요소에 액세스 할 수 있습니다.

SoapUI에서 제공하는 기본 속성 외에도 다양한 수준에서 사용자 지정 속성을 수도 있습니다. 이들의 세부 사항을 이해합시다.

 

 

SoapUI의 사용자 지정 속성

사용자 정의 또는 사용자 지정 속성은 최종 사용자가 요구 사항에 따라 정의하는 속성 집합입니다. 이러한 속성은 주로 테스트 수준에서 정의합니다. SoapUI 테스트에서테스트 단계에대한 사용자 정의 속성을 추가하려면 아래 표시된 단계를 따르십시오.

1. 테스트 단계를 마우스 오른쪽 버튼으로 클릭 한 다음 강조 표시된 " 단계 추가 "를 클릭 한 다음 속성을 선택 선택합니다. 

 

2. 속성을 선택하면 속성 집합의 이름을 제공하는 아래 대화 상자 가 표시됩니다.

 

3. 논리 이름을 지정한 후 SoapUI는 테스트 케이스의 속성을 추가하기 위해 아래에 표시된 화면을 표시합니다.

 

4. 새 속성을 추가하려면 강조 표시된 " + "버튼을 클릭합니다. 위의 스냅 샷에서 언급했듯이 , BookStore API의 응답에서 " Kyle Simpson "  같은 작성자  값인 속성의 이름을 사용할 수 있습니다.

따라서 이러한 방식으로 테스트 단계에 사용자 지정 속성을추가 한 다음 SoapUI 테스트의 유효성 검사 또는 기타 작업 중에 동일한 속성을 사용할 수 있습니다.

 

 

SoapUI의 속성 범주에는 어떤 것이 있습니까?

SoapUI의 속성은 정의된속성의 따라 분류됩니다.범위는 프로젝트 내부 또는 속성이 인식되고 액세스 가능한 프로젝트 전체의 수준입니다.

SoapUI는 속성이 분류되는 세 가지 범주 / 지역을 주로 인식합니다. 이것들은:

  • 전역 속성.
  • 프로젝트 레벨 속성.
  • 테스트 레벨 속성.

다음 섹션에서 이 모든 것을 자세히 이해합시다.

 

 

SoapUI의 전역 속성은 무엇입니까?

전역 속성은 SoapUI의 전역 수준에서 연결된 속성을 지정 / 정의합니다. 글로벌이라고 하면 작업 공간, 프로젝트, 테스트 스위트 및 테스트 케이스 전체에서 이러한 속성에 액세스 할 수 있습니다.

 

SoapUI에서 전역 속성을 정의하는 방법은 무엇입니까?

전역 속성은 SoapUI 도구 모음의기본 설정  또는

  아래 스크린 숏에 강조 표시된 대로 메뉴 표시 줄에서 파일 –> 환경 설정 –> 전역 속성.

 

이제 새 전역 속성을 정의하려면 위와 같이 추가 ( + ) 버튼을 클릭합니다.

SoapUI 작업 공간에 두 개의 WebService가 있다고 가정합니다. 하나는 SOAP 프로젝트이고 다른 하나는 REST 프로젝트입니다. 서버를 요청하려면 클라이언트 보안 이 필요하며 두 서비스에서클라이언트 보안을

이 시나리오를 처리하기 위해 위의 스크린 숏에 표시된 것처럼 " client-key "가 중요하고 " Client-key-encryption "이 값으로 포함된전역 속성을 수 있습니다.

이제 두 프로젝트에서 이러한 속성에 액세스 하는 방법을 살펴보겠습니다.

 

 

SoapUI에서 전역 속성에 액세스 하는 방법은 무엇입니까?

SoapUI의 속성에 액세스 하려면 다음 구문을 사용할 수 있습니다.

${KeyOftheProperty}


위에서 정의한 " client-key" 키에 액세스 하여 요청을 호출하는 동안 헤더로 전달한다고다음 단계에 따라 동일한 결과를 얻을 수 있습니다.

 

위와 같이 아래 단계에 따라 REST 요청에 사용자 정의 헤더를

  1. 작업 공간에서 REST 프로젝트로 이동하고 강조 표시된 요청을 두 번 클릭하여 책 세부 사항을 표시하는 요청을 시작하십시오.
  2. 2 단계에서 강조 표시된 "헤더"를 클릭하면 SoapUI가 요청을 하기 전에 수동으로 헤더를 추가하는 것을 용이하게 합니다.
  3. 3 단계에서 강조 표시된 대로 추가 버튼을 클릭하고 설정할 헤더의 이름을 제공합니다.
  4. 이제 4 단계에서 전역 속성에 액세스 하려면 전역 속성 집합 인 $ {client-key}를 지정합니다.

이제 재생 버튼을 클릭하여 요청을 실행하십시오. 실행 후 아래와 같이 " Raw "버튼을 클릭하여 요청에 전송된 헤더를 확인할 수 있습니다.

 

보시다시피 요청에 전달된 헤더 값은 전역 속성에 대해 정의된 것과 동일합니다. 이렇게 하면 해당 작업 영역의 모든 프로젝트에서 액세스 할 수 있는 전역 수준에서 속성을 만들 수 있습니다.

참고 : REST 프로젝트에 대해 언급한 것과 동일한 단계를 사용하여 SOAP 프로젝트에서 동일한 속성에 액세스 할 수 있습니다.

 

 

SoapUI의 프로젝트 수준 속성은 무엇입니까?

프로젝트 수준 속성은 현재 프로젝트에만 연결된 속성을 지정합니다. 이러한 속성의 범위는 동일한 프로젝트의 모든 TestSuits에 적용됩니다. 그러나 전역 속성과 마찬가지로 이러한 속성은 프로젝트에서 사용할 수 없으며 액세스 할 수 없습니다.

 

SoapUI에서 프로젝트 수준 속성을 정의하는 방법은 무엇입니까?

프로젝트를 선택하고 사용자 지정 속성 아래의 " + "버튼을 클릭하여 프로젝트 수준에서 새 속성을 추가할 수 있습니다.아래에 표시된 것처럼 값이 234 인  REST – bookstore ToolsQA” , 즉 “Pages  프로젝트에 새 속성을 추가한다고 가정합니다.

 

 

SoapUI에서 프로젝트 수준 속성에 액세스 하는 방법은 무엇입니까?

이제 위에서 정의한 프로젝트 수준 속성을 사용하는 방법을 살펴보겠습니다.속성 값을 기반으로 어선 션을 추가한다고 가정합니다. 우리는 아래와 같이 할 수 있습니다.

 

위의 샷에는 여기에" ValidatePagesOfABook"이라는 이름으로 책의 페이지 ( 왼쪽에 강조 표시된 부분 참조)를 확인하는 테스트가 추가되었으며 스크린 숏 오른쪽에는 다음과 같이 강조 표시되어 있습니다.

  • 1 단계 : 서점 서비스의 응답에는 도서 배열이 포함됩니다.
  • 2 단계 : 책 배열의 각 객체에는 속성 페이지가 포함되며 그 값은 234입니다.

또한 JsonPath 일치 어선 션  추가하여 Project 속성을 사용하여 아래와 같이 페이지 속성 값을 확인합니다.

 

위의 스냅 샷에서는 두 가지 표현식을 사용했습니다.

1. 책 배열의 첫 번째 개체의 페이지를 가져오려면

books [0]. pages

JSON에서는0부터 시작하는 인덱스를 사용하고 도트 연산자를 사용하여 배열을 순회할 수 있습니다. 하위 속성에 추가로 액세스 할 수 있습니다.


2. 프로젝트 속성에서 예상 값을 가져오려면

 

1

${#Project#Pages}

전역 속성으로서 프로젝트 속성을 포함한 모든 속성을 가져오려면 dollar 키워드와 중괄호 ( $ { )로 시작합니다. 또한 액세스 하려는 속성의 해시 및 키 접두사가 붙은 속성 유형을 지정합니다. 따라서 위의 표현식을 사용하면 이미 정의한 키“ Pages ”가 있는 프로젝트 수준 속성을 가져옵니다.

 

 

SoapUI의 테스트 수준 속성은 무엇입니까?

프로젝트 수준 또는 전역 수준에서 속성을 정의하고 사용할 수 있음을 확인했습니다. 더 자세히 알아보기 위해 SoapUI의 속성은 범위가 테스트 단계로만 제한되는 " 테스트 수준 "에서만 정의할 수도 있습니다. 세 가지 수준에서 수준 속성을 테스트할 수 있습니다.

  • 테스트 스위트 레벨 속성
  • 테스트 케이스 레벨 속성
  • 테스트 단계 수준 속성

이 모든 것을 더 자세히 이해합시다.

 

SoapUI의 Test-Suite 수준 속성은 무엇입니까?

이러한 유형의 속성은 현재 테스트 스위트와 관련된 속성을 지정합니다.모든 구성 요소는 이 테스트 스위트 (예 : 테스트 케이스, 테스트 단계, 스크립트) 에서이 속성을 사용할 수 있지만 다른 테스트 스위트에서는 사용할 수 없습니다.

명확하게 이해하기 위해 234 페이지의 책 제목을 확인한다고 가정합니다. 여기에서 동일한 테스트 스위트의 여러 테스트에서 제목에 액세스 해야 합니다.이러한 종류의 사용을 위해 아래 강조 표시된 대로Test Suite 수준 속성을선택할 수 있습니다.

테스트 스위트 레벨 속성을 추가하는 단계는프로젝트 레벨 속성을 추가하는 것과 유사합니다. 유일한 차이점은 여기에 있습니다. 프로젝트 대신 테스트 스위트를 선택하고 아래와 같이 사용자 지정 속성을 추가해야 합니다.

 

위의 스크린 숏에서 이름이 " FirstBookTitle "이고 값이 " Git Pocket Guide "인 속성을 테스트 스위트 " TestSuite1 " 아래에 추가했습니다.

이제 “TestSuite ”수준 속성에아래와 같이  TestSuite # ”를 앞에 추가하면 됩니다.

 

따라서 테스트 모음 수준 속성에 액세스 하는 구문은 다음과 같습니다.

 

1

${#TestSuite#FirstBookTitle}

 

 

SoapUI의 Test-Case 수준 속성은 무엇입니까?

현재 테스트 케이스와 연관된 특성입니다. 테스트 케이스의 모든 서브 세트 ( test step, script ) 에서이 속성을 사용할 수 있습니다.테스트 도구 모음 수준 속성을 추가한 것과 유사한 방식으로 Test-Case 수준 속성 값을 설정할 수 있습니다. 유일한 차이점은 테스트 스위트를 선택하는 대신 속성을 정의할 테스트 케이스를 선택해야 한다는 것입니다.

마찬가지로 테스트 케이스 수준 속성에 액세스 하려면 다음 구문을 사용할 수 있습니다.

 

1

${#TestCase#PropertyName}

다시 말하지만, 테스트 케이스 수준 속성을 가져오는 구문은 프로젝트 / 테스트 모음 수준 속성을 가져오는 것과 유사합니다. 테스트 스위트 레벨 속성을 가져오기 위해 키워드 TestSuite 대신 TestCase를 사용합니다.

 

 

SoapUI의 테스트 단계 수준 속성은 무엇입니까?

테스트 단계 속성은 현재 테스트 단계와 관련된 속성입니다. 테스트 단계의 모든 하위 집합 ( 테스트 단계, 속성 전송, 스크립트 ) 에서이 속성을 사용할 수 있습니다.

또한 이 수준의 속성 구현은 TestCase 속성과 매우 유사합니다. 유일한 차이점은 사용 범위입니다.

테스트 단계 수준 속성에 액세스 하려면 다음 구문을 사용할 수 있습니다.

 

1

${#TestStep#PropertyName}

여기서 키워드 TestStep 은 속성 값을 가져오는 데 사용됩니다.

 

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