웹 서비스 테스트 튜토리얼 (예제 포함)
⚡ 스마트 요약
웹 서비스 테스트는 SOAP 또는 REST 프로토콜, WSDL 설명 및 도구 등을 사용하여 애플리케이션 간 데이터 교환을 가능하게 하는 API의 기능, 신뢰성, 성능 및 보안을 검증합니다. SoapUI 또는 사용자 정의 Java 암호.

웹서비스란 무엇입니까?
웹 서비스는 두 개의 애플리케이션/머신이 기본 아키텍처나 기술과 상관없이 데이터를 교환하는 통신 메커니즘 또는 매체입니다.
웹 서비스 테스트란 무엇입니까?
웹 서비스 테스트 웹 서비스의 유효성을 검사하는 소프트웨어 테스트 유형입니다. 웹 서비스 테스트의 목적은 API(응용 프로그램 인터페이스)의 기능, 신뢰성, 성능 및 보안을 확인하는 것입니다. 웹 서비스 테스트는 어떤 경우에는 단위 테스트와 유사합니다. 웹 서비스를 수동으로 테스트하거나 자체 자동화 코드를 생성하거나 다음과 같은 기성 자동화 도구를 사용할 수 있습니다. Postman.
웹서비스가 필요한 이유는 무엇입니까?
일반적으로 소프트웨어 애플리케이션은 인간이 사용하도록 개발되는데, 사람이 소프트웨어 서비스에 요청을 보내면 소프트웨어 서비스는 사람이 읽을 수 있는 형식으로 응답을 반환합니다.
현대 기술 시대에는 소프트웨어 애플리케이션을 구축하려는 경우 처음부터 모든 것을 구축할 필요가 없습니다. 애플리케이션에 연결할 수 있고 애플리케이션에서 해당 서비스 제공을 시작할 수 있는 이미 만들어진 서비스가 많이 있습니다.
예를 들어, 애플리케이션에서 데이터를 수집, 처리 및 렌더링할 필요가 없는 일기 예보 정보를 표시하려고 합니다. 이러한 종류의 데이터를 처리하고 게시하는 데 이미 확고한 기반을 갖춘 사람들로부터 서비스를 구입할 수 있습니다.
웹 서비스를 사용하면 이러한 종류의 구현을 수행할 수 있습니다.
예를 들어 다음 웹 서비스를 고려해 보세요.
http://www.webservicex.net/stockquote.asmx?op=GetQuote
이는 회사의 공유 가치를 제공합니다.
다음 주식의 가격을 알아봅시다. Google (기호: GOOG)
응답 XML은 주가를 제공합니다.
이 WebService는 SOAP 또는 HTTP 프로토콜을 사용하여 소프트웨어 애플리케이션에서 호출할 수 있습니다.
웹 서비스 프로토콜
웹 서비스는 다양한 방법으로 구현할 수 있지만, 다음 두 가지가 가장 인기 있는 구현 방식입니다.
- SOAP(단순 개체 액세스 프로토콜)
- REST(Representational State Transfer 아키텍처)
SOAP
SOAP는 웹 서비스 요청 및 응답을 보내고 받기 위해 W3C 표준에서 정의한 표준 프로토콜입니다.
SOAP은 요청을 보내고 받는 XML 형식 따라서 데이터는 플랫폼 독립적인 데이터입니다. SOAP 메시지는 SOAP 봉투 내에서 제공자 애플리케이션과 수신 애플리케이션 간에 교환됩니다.
SOAP는 단순 http 전송 프로토콜을 사용하므로 메시지가 방화벽에 의해 차단되지 않습니다.
REST
REST는 Representational State Transfer의 약자로, 일반적으로 HTTP 프로토콜을 통해 실행되는 아키텍처입니다. REST 방식은 클라이언트와 서비스 간의 상호 작용을 강조하며, 최소한의 연산만 수행하도록 설계되어 이러한 상호 작용이 더욱 원활해집니다. REST는 SOAP(Simple Object Access Protocol)의 대안으로, 요청에 XML 대신 간단한 문자열을 사용합니다. URL 경우에 따라 다릅니다. SOAP와 달리 RESTful 애플리케이션은 HTTP 내장 헤더를 사용하여 메타 정보를 전달합니다.
사용자가 API에 액세스할 수 있는지 여부를 결정하기 위해 REST에서 사용하는 다양한 코드가 있습니다. 코드 200 또는 201은 응답 본문과의 성공적인 상호 작용을 나타내고 400은 잘못된 요청을 나타내거나 요청 URI가 시스템의 API와 일치하지 않음을 나타냅니다. 모든 API 요청 매개변수와 메소드 매개변수는 다음 중 하나를 통해 전송될 수 있습니다. POST or 바로 변수.
Rest API는 WebServices API 테스트를 위해 XML 및 JSON 형식을 모두 지원합니다. 일반적으로 다음과 같은 경우에 선호됩니다. 모바일 웹 앱을 사용하면 앱이 더 빠르고 원활하게 작동합니다.
wsdl
WSDL(웹 서비스 Description Language)는 웹 서비스에서 제공하는 서비스를 설명하는 데 사용되는 XML 기반 언어입니다.
WSDL은 특정 웹 서비스가 제공하는 모든 작업을 XML 형식으로 설명합니다. 또한 서비스를 호출하는 방법, 즉 제공해야 하는 입력 값과 각 서비스 유형에 대해 생성할 응답의 형식이 무엇인지 정의합니다.
웹 서비스를 테스트하는 방법은 무엇입니까?
웹 서비스를 테스트하려면 다음을 수행하십시오.
- 수동으로 테스트
- 나만의 자동화 기능을 만들어보세요 Code
- 시중에서 구할 수 있는 자동화 도구를 사용하세요. SoapUI.
웹 서비스 자동화 테스트에는 다음 단계가 포함됩니다.
- WSDL 파일 이해
- 특정 웹 서비스가 제공하는 작업을 결정합니다.
- 보내야 하는 XML 요청 형식을 결정합니다.
- 응답 XML 형식 결정
- 도구를 사용하거나 코드를 작성하여 요청을 보내고 응답을 확인합니다.
통화 변환 기능을 제공하는 웹 서비스를 테스트한다고 가정해 보겠습니다. 다른 국가 통화 간의 현재 변환율입니다. 이 서비스는 애플리케이션에서 한 통화의 값을 다른 통화로 변환하는 데 사용할 수 있습니다.
이제 위의 단계를 살펴보겠습니다.
1~4단계: WSDL 이해 및 작업 및 XML 형식 결정
환율 Convertor WSDL 파일을 볼 수 있습니다 @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) 통화에 대한 정보를 제공합니다. Converto지원하게 될 웹 서비스 메소드, 전달해야 하는 매개변수, 매개변수 유형 등.
5단계: 도구를 사용하거나 코드를 작성하여 요청을 보내고 응답을 확인합니다.
SOAP 웹 서비스를 테스트하는 데 사용할 수 있는 웹 서비스 테스트 도구가 많이 있습니다. SoapUI 대중적인 사람 중 하나이다. API 도구 이는 SOAP 웹 서비스를 테스트하는 데 도움이 될 것입니다. 실제로 http를 통해 XML 요청을 웹 서비스 제공자 애플리케이션에 보낼 수 있고 예상 결과에 대해 응답 XML을 구문 분석하고 검증할 수 있는 모든 프로그래밍 언어를 사용할 수 있습니다. 이 웹 서비스 테스트 튜토리얼에서는 WebService를 테스트합니다.
- 사용 Java
- 사용 SoapUI
PART 1) Apache Axis2 API를 사용한 웹 서비스 테스트 (Java).
일반적으로 웹 서비스는 요청을 받아 XML 형식으로 응답을 보냅니다.
Apache Axis2 API 프로젝트는 Java 서버 측(서비스 제공자)과 클라이언트 측(서비스 소비자) 모두를 위한 웹 서비스를 생성하는 데 사용되는 구현 API입니다.
Axis2는 SOAP 메시지를 보낼 수 있고 SOAP 메시지를 수신 및 처리할 수 있습니다. 우리는 작게 쓸 수 있습니다 Java API를 사용하여 웹 서비스를 만드는 프로그램입니다. Axis2는 다음에서 WSDL을 생성합니다. Java 웹 서비스에서 제공하는 서비스를 전달하는 데 사용되는 프로그램입니다. 동일한 Axis2를 사용하여 Java 웹 서비스 요청을 생성하고 요청을 서비스 끝점으로 보내고 응답을 처리하기 위해 클라이언트 프로그램으로 사용할 수 있는 WSDL 파일의 클래스(스텁)입니다.
- 기본적으로 우리는 간단한 Java 스텁 클래스를 인스턴스화하는 프로그램입니다.
- 스텁을 사용하여 필요한 모든 정보를 전달하여 요청 메서드를 호출합니다.
- 스텁 프로그램은 해당 요청을 XML 요청 형식으로 변환하고 요청을 읽고 요청을 처리하고 응답을 XML 형식으로 보내는 서비스 끝점으로 보냅니다.
- XML 응답은 다음으로 변환됩니다. Java 스텁별로 클래스를 생성하고 실제 프로그램으로 반환합니다.
위의 단계를 자세히 살펴보겠습니다.
a 단계) axis2 API @ 다운로드 https://axis.apache.org/axis2/Java/core/download.cgi & 환경변수 'AXIS2_HOME' 설정
b) 생성된 모든 아티팩트를 보관할 폴더를 만듭니다.
예 : C:\Axis\Projects\CurrencyConverter
c단계) 명령 프롬프트를 열고 아티팩트를 생성하려는 폴더 구조로 이동한 후 스텁을 생성하는 다음 명령을 실행합니다.
%AXIS2_HOME%\bin\WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.통화변환기 -d adb –s
d 단계) 명령이 성공적으로 실행되면 필요한 파일이 있는 폴더가 표시됩니다.
e단계) 이 웹 서비스 테스트 튜토리얼의 다음 단계에서는 생성된 스텁을 사용하여 실제 요청을 보낼 클라이언트 프로그램을 만들어야 합니다. 이클립스를 열고 새 Java 프로젝트를 선택하고 위에서 만든 폴더를 선택합니다.
f) 모든 axis2 관련 jar를 프로젝트 빌드 경로에 추가합니다. 이 경로는 axis2 소프트웨어 폴더의 lib 폴더에 있습니다.
(예: C:\Axis\axis2-1.6.2\lib)
g) 단계) 새로운 생성 Java 클래스(예: 클라이언트.Java) 및 스텁 개체를 인스턴스화합니다. 스텁 개체를 사용하면 특정 WebService에서 지원되는 모든 메서드를 호출할 수 있습니다.
Client.Java Program package org.apache.axis2.currencyconvertor; import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate; import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse; import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency; public class Client { public static void main(Java.lang.String args[]) { try { //Create the stub object by passing the service end point url CurrencyConvertorStub stub = new CurrencyConvertorStub("http://www.webservicex.net/CurrencyConvertor.asmx"); //ConversionRate is the class which we have to use mention the from and to currency //ConversionRate object will be the parameter for the conversionRate operation ConversionRate conversionRate = new ConversionRate(); conversionRate.setFromCurrency(Currency.USD); conversionRate.setToCurrency(Currency.INR); //Create the ConversionRateResponse object, which is going to be used to catch the response //call the conversionRate service using the stub object ConversionRateResponse conversionRateResponse = stub.conversionRate(conversionRate); //We can use the conversionRateResponse object to retrieve the response of the ConversionRate Service System.out.println("Conversion Rate from INR to USD : " + conversionRateResponse.getConversionRateResult()); } catch (Exception e) { e.printStackTrace(); } } }
파트 2) 테스트 방법 SoapUI 웹 서비스
In SoapUI
- 파일 > 새 Soap 프로젝트로 이동하세요.
- 프로젝트 이름과 WSDL URI 위치를 입력하세요.
- 확인을 클릭하십시오.
- 첫 번째 요청을 확장하고 'Request1'을 두 번 클릭합니다. 그러면 XML 형식으로 SOAP 요청이 표시됩니다.
- 시작 통화 및 종료 통화를 입력하세요.
- 제출 버튼을 클릭하십시오
- 응답 XML은 오른쪽 창에 표시됩니다.
결론적으로 말씀드리자면, 웹 서비스 테스트 도구의 사용은 다음과 같은 이점을 제공합니다. SoapUI SoapUI는 웹 서비스 자동화 테스트 작업을 가속화합니다. 따라서 다음 튜토리얼에서는 SoapUI를 중심으로 학습할 것입니다.












