understanding assertions soapui soapui tutorial 5
우리는 SoapUI의 기본 작업을 해왔습니다. 프로젝트 생성, WSDL 추가, 요청 보내기 및 응답 받기 그리고 지금까지 그들과 함께 갈 테스트 자산을 생성합니다.
이 5 번째 SoapUI 자습서에서는 SoapUI의 어설 션에 대해 모두 배웁니다. 우리는 당신을 강력히 추천합니다 이 페이지의 전체 SoapUI 교육 시리즈를 따르십시오. 이러한 모든 핵심 기능을 배우려면
학습 내용 :
어설 션 소개
다른 테스트와 마찬가지로, 우리는 웹 서비스의 맥락에서 호출되는 특정 검증 또는 주장에 도달하기 위해 시스템이 원하는 작업과 실제로 수행하는 작업을 비교해야합니다. 테스터로서 우리가 1000 개 또는 심지어 백만 개의 테스트 단계를 실행했는지는 중요하지 않지만 우리에게는 결과 비교가 테스트의 결과를 결정합니다.
따라서 웹 서비스를 수동으로 어설 션 할 수 있지만 SoapUI로이를 수행하는 방법을 이해하는 데이 전체 기사를 사용할 것입니다. 또한 대용량 데이터에 대한 응답과 응답이 여러 개인 경우 수동 어설 션에 시간이 많이 걸립니다. SoapUI 어설 션은 이러한 부족을 극복하는 데 탁월합니다.
SOAPUI 어설 션 응답 메시지의 일부 / 전체를 예상 결과와 비교합니다. SoapUI에서 제공하는 다양한 어설 션을 모든 테스트 단계에 추가 할 수 있습니다. 각 유형의 어설 션은 텍스트 일치, XPATH 비교와 같은 응답에 대한 특정 유효성 검사를 대상으로하거나 필요에 따라 쿼리를 작성할 수도 있습니다.
테스트 단계가 실행되면 관련 어설 션이 각 테스트 단계에 대한 응답을받습니다. 응답이 실패하면 해당 어설 션이 처리되고 해당 테스트 단계가 실패로 표시됩니다. 이 알림은 테스트 케이스보기에서 볼 수 있습니다. 또한 테스트 실행 로그에서 실패한 테스트 단계를 찾을 수 있습니다. 샘플 테스트 단계 어설 션 화면은 다음과 같습니다.
위 이미지에서 일부 테스트 단계는 FAILED이고 일부는 PASSED입니다. 그 이유는 주장입니다.
앞서 논의했듯이 어설 션 조건이 예상 결과와 일치하지 않으면 결과는 FAILED입니다.
SoapUI에서 다른 종류의 어설 션 작업
이제 다음과 같은 다양한 유형의 주장으로 작업하는 방법을 살펴 보겠습니다.
- 포함 및 포함하지 않음
- XPath 일치 및
- XQuery 매치 어설 션.
첫째, 유효한 WSDL 스키마 위치가 필요합니다.
다음 단계를 따르십시오.
1 단계. 새 SOAP 프로젝트 만들기 CTRL + N을 누르고 단계를 따릅니다. 프로젝트를 만든 후 SOAPUI는 인터페이스 목록 및 해당 요청을 생성합니다.
2 단계. 이 프로젝트에 테스트 스위트를 추가하려면 다음 단계를 따르십시오.
- 인터페이스 이름을 마우스 오른쪽 버튼으로 클릭하십시오. MedicareSupplierSoap
- 딸깍 하는 소리 Testsuite 생성 상황에 맞는 메뉴의 옵션
- 나타나는 아래 창에서 확인을 클릭하십시오.
- 다음 팝업에서 원하는 테스트 스위트 이름을 입력하고 확인을 클릭해야합니다.
- SOAPUI PRO는 네비게이터 패널의 요청과 함께 테스트 스위트를 생성합니다.
- 테스트 스위트 아래에 SOAP 요청 단계가있는 일부 테스트 단계가 표시됩니다.
3 단계. 이 테스트 스위트를 실행하려면 요청 단계를 두 번 클릭하고 각 위치에 입력 값을 지정하십시오. 예를 들어 GetSupplierByCity 요청 및 입력 뉴욕 도시 태그 사이.
- RUN 아이콘을 클릭하여이 요청을 시작하면 응답이 수신됩니다.
- 이제 어설 션을 추가해 보겠습니다. 이를 위해 어설 션 로그 탭 상단에있는 탭.
- 마우스 오른쪽 버튼을 클릭하면 아래와 같은 몇 가지 기본 어설 션 관련 옵션이있는 팝업 메뉴가 나타납니다.
# 1) 어설 션 포함
Add Assertion 옵션을 클릭하거나 툴바에서 클릭합니다. 어설 션 추가 창이 화면에 다른 유형의 어설 션과 함께 나타납니다.
1. 클릭 재산 내용 목록의 범주 – 연관된 어설 션 유형 및 설명이 표시됩니다.
2. 클릭 포함 어설 션을 클릭하고 추가 버튼을 클릭
3. 이것은 어설 션 구성 창입니다. 여기에서 응답을 기반으로 예상 조건을 지정해야합니다.
예를 들어 이다, 입력하겠습니다 뉴욕 이 텍스트 필드의 텍스트. 비교시 대소 문자 무시 예상 값이 대문자 또는 소문자 인 경우에도 확인란이 무시됩니다.
4. 이제 테스트 스위트를 실행하고 결과를 확인하십시오. 테스트 스위트 창에서 볼 수 있듯이 녹색은 성공적인 실행을 나타내고 빨간색은 실패를 나타냅니다.
# 2) 어설 션을 포함하지 않음
부정적인 시나리오에서 요청의 유효성을 검사하기 위해 '포함하지 않음'어설 션을 사용할 수 있습니다. 우리는 사용할 수 있습니다 GetSupplierByZipCode 그것을 배우도록 요청하십시오.
요청 탭을 두 번 클릭하여 엽니 다. 입력 요청에서 다음과 같은 적절한 위치에 잘못된 우편 번호를 입력합니다. 10029 . 지금이 요청을 실행하십시오. 주어진 우편 번호에 대한 공급 업체 세부 정보가있는 응답 데이터를 확인합니다. 아래 이미지를 살펴보세요.
(확대 된 이미지를 보려면 이미지를 클릭하십시오)
'포함하지 않음'어설 션은 성공적으로 실행되면 녹색으로 강조 표시됩니다.
구성 창에서 다음과 같이 양수 예상 값으로 구성했습니다.
예상 조건 값이 없으면 true를 반환하고 응답 메시지에 예상 값이 있으면 false를 반환합니다.
마찬가지로 조건을 변경하고 요청을 다시 실행할 수 있습니다. 그에 따라 결과가 생성됩니다.
# 3) XPath 일치 어설 션
XPath 일치 어설 션은 실제 응답 데이터를 사용하여 응답을 어설 션한다는 점에서 약간 다릅니다.
예를 들면 , 사용자 자격 증명을 인증하고 XML 형식의 TRUE 또는 FALSE 일 수있는 일부 부울 유형의 데이터와 함께 클라이언트에 승인을 보내는 로그인 인증 웹 서비스가있는 경우.
아시다시피 XML 문서는 태그로 작성됩니다. 따라서 구성에서 예상 값을 지정할 때 XML 형식이어야합니다.
유튜브 mp4 변환기 무료 온라인 다운로드 없음
그렇게 해보자 :
에 대한 어설 션을 하나 더 추가하십시오. GetSupplierByCity 의뢰. Add Assertion 창에서 재산 내용 카테고리를 클릭 한 다음 XPath 일치 역설.
아래 창이 표시됩니다.
상단 섹션은 선언 부분이고 하단 섹션은 예상 결과 부분입니다.
클릭하면 알리다 옵션을 선택하면 아래와 같이 자동 생성 된 선언 스크립트를 얻을 수 있습니다.
선언 네임 스페이스 soap =’http : //schemas.xmlsoap.org/soap/envelope/ ';
선언 네임 스페이스 ns1 =’http : //www.webservicex.net/’;
위의 스크립트에서 첫 번째 줄은 XML 데이터 및 포함 된 SOAP 태그 여야하는 응답을 나타냅니다. 다음 줄에서 전체 응답이 할당되거나 복사됩니다. ns1 실행 중 네임 스페이스 변수. 전체 응답에서 특정 데이터를 필터링하려면 다음 스크립트를 추가해야합니다.
// ns1 : SupplierData (1)
아시다시피, 실행하면 GetSupplierByCity 요청하면 해당 공급 업체의 개인 데이터 목록이 포함 된 응답을 생성합니다. 뉴욕시 .
여기서 우리는 XPath 일치 대량 응답에서 특정 공급 업체의 개인 정보를 추출하는 표현식입니다. 이를 위해 우리는 ns1 변하기 쉬운. 이제 현재에서 선택 단추.
그런 다음 SOAPUI는 다음 결과를 생성합니다.
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
이 스크린 샷을 참조하십시오 :
여기 응답 데이터에서 하나의 공급 업체 개인 데이터 만 볼 수 있습니다. 꺾쇠 괄호 안에있는 숫자에 따라 출력이 생성됩니다.
지금까지 이것은 필요한 응답 부분을 선택하는 것에 관한 것입니다. XPath 일치 역설?
그것에 도달하자 : 응답에 동의하면 저장 버튼을 클릭하십시오.
처음에 변경 사항없이 XPath 일치 어설 션을 구성한 후이 서비스를 실행했다면 결과는 성공적인 응답이되고 상태는 녹색으로 강조 표시됩니다.
하지만 입력 요청의 입력 매개 변수를 잘못된 도시인 'XYZ 또는 ABC'로 변경해 보겠습니다. 요청을 실행하고 결과와 어설 션 상태를 확인하십시오. 어설 션에 대한 실패 응답과 빨간색 상태 표시를 받게됩니다. 예상 결과 구성의 서비스 응답에 특정 공급 업체 데이터가 있어야한다고 이미 지정했고 도시 이름이 유효하지 않은 경우 해당 공급 업체가 분명히 존재하지 않습니다.
이것이 우리가 XPath Match expression assertion을 사용하여 XML 응답을 주장 할 수있는 방법입니다. 이것은 시작하기가 매우 간단하다는 데 동의했지만 다른 서비스 응답으로 시도하면 훨씬 더 나은 아이디어를 얻을 수 있습니다.
XPath Match 표현식에서 집계 함수를 사용할 수도 있습니다. Sum, Min, Max, Count 및 Avg입니다.
예를 들면 , 예상 결과에서 총 공급자 수를 알고 싶다면 다음 스크립트를 작성하십시오.
개수 (// ns1 : SupplierData) 그리고 그것은 반환 536 결과적으로. 모든 집계 함수는 소문자 여야합니다.
# 4) XQuery 매치 어설 션
이것은 XPath Match assertion과 약간 유사합니다. XPath 일치 어설 션 구성에서 보았 듯이 선언과 예상 결과라는 두 섹션이 있습니다.
- 요청에 대한 XQuery Match 어설 션 추가
- 구성 창에서 알리다 버튼을 누르고 다음 스크립트를 작성하십시오.
- 이제 클릭 현재에서 선택 단추
- SOAPUI는 스크립트에 대한 응답을 생성합니다.
XQuery 표현식은 XPath 일치 표현식도 지원하지만 XPath 일치 어설 션에서 사용할 수없는 자체 스크립팅 구문이 있습니다.
예를 들어 :
XQuery 표현식을 사용하여 모든 공급 업체 데이터 응답을 가져 오는 한 가지 예를 살펴 보겠습니다. 더 잘 이해하려면이 샘플 스크린 샷을보십시오.
실제 스크립트 :
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
XQuery 표현식에서 사용할 수있는 더 많은 내장 함수가 있습니다. 그들은 어디서, 주문, 반품 등등.
결론
글쎄, 그것들은 당신에게 가장 일반적으로 사용되는 주장입니다.
여기서 강조되는 점은 다음과 같습니다. 어설 션은 웹 서비스의 예상 결과를 정확하게 예측하는 데 가장 중요합니다. 그것이 열쇠 중 하나 인 이유입니다 SOAPUI PRO의 기능 .
다음 튜토리얼 : 다음 자습서에서는 스크립팅 기본 사항 등을 자세히 살펴 보겠습니다.
연결 상태를 유지하십시오. 언제나 그렇듯이 귀하의 의견, 질문 및 제안을 환영합니다.
추천 도서
- SoapUI Pro에서 데이터 기반 테스트를 수행하는 방법 – SoapUI 자습서 # 14
- 15 개 이상의 SoapUI 자습서 : 최고의 웹 서비스 API 테스트 도구
- 초보자를위한 심층 이클립스 튜토리얼
- SoapUI Groovy 스크립트에서 속성을 사용하는 방법-SoapUI Tutorial # 7
- 7 SoapUI 및 SoapUI Pro의 중요한 기능-튜토리얼 2
- SoapUI 속성 작업-SoapUI 자습서 # 8
- 프로 사용자를위한 SoapUI Pro의 4 가지 중요한 기능 – SoapUI 튜토리얼 # 12
- 단계별 SoapUI 다운로드 및 설치 프로세스 – SoapUI 자습서 # 3