WebService là gì?
Dịch vụ Web là cơ chế hoặc phương tiện giao tiếp mà qua đó hai ứng dụng / máy móc sẽ trao đổi dữ liệu bất kể kiến trúc cơ bản và công nghệ của chúng.
Kiểm tra dịch vụ web là gì?
Kiểm tra Dịch vụ Web là một loại kiểm tra phần mềm xác nhận các dịch vụ Web. Mục đích của Kiểm tra dịch vụ web là để kiểm tra chức năng, độ tin cậy, hiệu suất và bảo mật của API (Giao diện chương trình ứng dụng). Kiểm tra dịch vụ web tương tự như kiểm thử đơn vị trong một số trường hợp. Bạn có thể kiểm tra một Dịch vụ trang web theo cách thủ công hoặc tạo mã tự động hóa của riêng bạn hoặc sử dụng một công cụ tự động hóa có sẵn như Postman.
Tại sao cần có WebService?
Nói chung, các ứng dụng phần mềm được phát triển để con người sử dụng, nơi một người gửi một yêu cầu đến một dịch vụ phần mềm mà lần lượt nó sẽ trả về một phản hồi ở định dạng con người có thể đọc được.
Trong thời đại công nghệ hiện đại, nếu bạn muốn xây dựng một ứng dụng phần mềm, bạn không cần phải xây dựng tất cả mọi thứ từ đầu. Có rất nhiều dịch vụ làm sẵn có sẵn mà bạn có thể cắm vào ứng dụng của mình và bạn có thể bắt đầu cung cấp các dịch vụ đó trong ứng dụng của mình.
Ví dụ, bạn muốn hiển thị thông tin dự báo thời tiết mà bạn không cần phải thu thập, xử lý và kết xuất dữ liệu trong ứng dụng của mình. Bạn có thể mua dịch vụ từ những người đã thành thạo trong việc xử lý và xuất bản loại dữ liệu đó.
Các dịch vụ web cho phép chúng tôi thực hiện những loại triển khai này.
Ví dụ, hãy xem xét WebService sau
http://www.webservicex.net/stockquote.asmx?op=GetQuote
Nó mang lại Giá trị Cổ phần cho một Công ty.
Hãy tìm giá cổ phiếu của Google (Ký hiệu: GOOG)
XML phản hồi cung cấp giá cổ phiếu.
WebService này có thể được gọi bởi Ứng dụng phần mềm sử dụng giao thức SOAP hoặc HTTP.
Giao thức dịch vụ web
Dịch vụ Web có thể được triển khai theo nhiều cách khác nhau, nhưng hai cách sau đây là các cách tiếp cận triển khai phổ biến.
- SOAP (Giao thức truy cập đối tượng đơn giản)
- REST (Kiến trúc chuyển trạng thái đại diện)
XÀ BÔNG
SOAP là một giao thức tiêu chuẩn được xác định bởi Tiêu chuẩn W3C để gửi và nhận các yêu cầu và phản hồi dịch vụ web.
SOAP sử dụng định dạng XML để gửi và nhận yêu cầu và do đó dữ liệu là dữ liệu độc lập với nền tảng. Các thông điệp SOAP được trao đổi giữa ứng dụng của nhà cung cấp và ứng dụng nhận trong phong bì SOAP.
Vì SOAP sử dụng giao thức truyền tải http đơn giản, các thông điệp của nó không bị tường lửa chặn.
NGHỈ NGƠI
REST có nghĩa là Chuyển giao trạng thái đại diện; nó là một kiến trúc thường chạy qua HTTP. Phong cách REST nhấn mạnh sự tương tác giữa khách hàng và dịch vụ, được nâng cao bằng cách có một số hoạt động hạn chế. REST là một giải pháp thay thế cho SOAP (Giao thức truy cập đối tượng đơn giản) và thay vì sử dụng XML cho yêu cầu, REST sử dụng URL đơn giản trong một số trường hợp. Không giống như SOAP, các ứng dụng RESTFUL sử dụng HTTP xây dựng trong tiêu đề để mang siêu thông tin.
Có nhiều mã khác nhau mà REST sử dụng để xác định xem người dùng có quyền truy cập vào API hay không, chẳng hạn như mã 200 hoặc 201 cho biết tương tác thành công với nội dung phản hồi trong khi 400 chỉ ra một yêu cầu không hợp lệ hoặc URI yêu cầu không khớp với các API trong hệ thống. Tất cả các tham số yêu cầu API và tham số phương thức có thể được gửi qua biến POST hoặc GET .
Rest API hỗ trợ cả định dạng XML và JSON để Kiểm tra API WebServices. Nó thường được ưu tiên cho các ứng dụng web và thiết bị di động vì nó giúp ứng dụng hoạt động nhanh hơn và mượt mà hơn
WSDL
WSDL (Ngôn ngữ Mô tả Dịch vụ Web) là một ngôn ngữ dựa trên XML sẽ được sử dụng để mô tả các dịch vụ được cung cấp bởi một dịch vụ web.
WSDL mô tả tất cả các hoạt động được cung cấp bởi dịch vụ web cụ thể ở định dạng XML. Nó cũng xác định cách các dịch vụ có thể được gọi, tức là chúng ta phải cung cấp giá trị đầu vào nào và định dạng phản hồi mà nó sẽ tạo ra cho mỗi loại dịch vụ.
Làm thế nào để kiểm tra một Dịch vụ Web?
Để kiểm tra dịch vụ web, bạn có thể
- Kiểm tra thủ công
- Tạo mã tự động hóa của riêng bạn
- Sử dụng một công cụ tự động hóa có sẵn như SoapUI.
Kiểm tra tự động hóa dịch vụ web bao gồm các bước sau:
- Hiểu tệp WSDL
- Xác định các hoạt động mà dịch vụ web cụ thể cung cấp
- Xác định định dạng yêu cầu XML mà chúng tôi cần gửi
- Xác định định dạng XML phản hồi
- Sử dụng một công cụ hoặc viết mã để gửi yêu cầu và xác thực phản hồi
Giả sử chúng ta muốn thử nghiệm dịch vụ web cung cấp Cơ sở chuyển đổi tiền tệ. Nó sẽ tỷ lệ chuyển đổi hiện tại giữa các quốc gia tiền tệ khác nhau. Dịch vụ này chúng tôi có thể sử dụng trong các ứng dụng của mình để chuyển đổi các giá trị từ đơn vị tiền tệ này sang đơn vị tiền tệ khác.
Bây giờ chúng ta hãy xem xét các bước trên
Bước 1 đến 4: Hiểu WSDL và xác định hoạt động và định dạng XML
Tệp WSDL của Bộ chuyển đổi tiền tệ có thể được nhìn thấy @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) sẽ cung cấp thông tin về các phương thức dịch vụ web Bộ chuyển đổi tiền tệ mà nó sẽ hỗ trợ, tham số mà chúng ta cần chuyển và loại thông số
… Vân vânBước 5: Sử dụng công cụ hoặc viết mã để gửi yêu cầu và xác thực phản hồi
Có rất nhiều công cụ Kiểm tra WebService có sẵn để kiểm tra dịch vụ web SOAP. SoapUI là một trong những công cụ API phổ biến sẽ giúp chúng tôi kiểm tra các dịch vụ web SOAP. Trên thực tế, bạn có thể sử dụng bất kỳ ngôn ngữ lập trình nào có khả năng gửi yêu cầu XML đến ứng dụng của nhà cung cấp dịch vụ web qua http và có thể phân tích cú pháp và xác thực XML phản hồi theo kết quả mong đợi. Trong hướng dẫn Kiểm tra Dịch vụ Web này, chúng tôi sẽ kiểm tra Dịch vụ Web
- Sử dụng Java
- Sử dụng SoapUI
PHẦN 1) Kiểm tra WebService bằng API Apache Axis2 (Java).
Nói chung, dịch vụ web nhận yêu cầu và gửi phản hồi ở định dạng XML.
Dự án API Apache Axis2 là một API triển khai Java, sẽ được sử dụng để tạo các dịch vụ Web cho cả phía máy chủ (nhà cung cấp dịch vụ) và phía máy khách (người tiêu dùng dịch vụ).
Axis2 có khả năng gửi các bản tin SOAP và Nhận & Xử lý các bản tin SOAP. Chúng ta có thể viết một chương trình Java nhỏ bằng cách sử dụng API để tạo dịch vụ web. Axis2 sẽ tạo ra WSDL từ chương trình Java sẽ được sử dụng để giao tiếp các dịch vụ được cung cấp bởi dịch vụ web. Chúng ta có thể sử dụng cùng một Axis2 để tạo lớp Java (sơ khai) từ tệp WSDL mà chúng ta có thể sử dụng làm chương trình khách để tạo yêu cầu dịch vụ web, để gửi yêu cầu đến điểm kết thúc dịch vụ và xử lý phản hồi.
- Về cơ bản, chúng ta sẽ tạo một chương trình Java đơn giản, trong đó chúng ta sẽ khởi tạo lớp sơ khai.
- Sử dụng sơ khai, chúng tôi sẽ gọi phương thức yêu cầu bằng cách chuyển tất cả các thông tin cần thiết.
- Chương trình Stub sẽ chuyển đổi yêu cầu đó sang định dạng yêu cầu XML và gửi cho nó điểm cuối dịch vụ sẽ đọc yêu cầu và xử lý yêu cầu và gửi phản hồi ở định dạng XML.
- Phản hồi XML sẽ được chuyển đổi thành lớp Java theo sơ khai và được trả về chương trình thực tế.
Hãy xem xét các bước trên một cách chi tiết
Bước a) Tải xuống API axis2 @ https://axis.apache.org/axis2/Java/core/download.cgi & Đặt biến môi trường 'AXIS2_HOME'
Bước b) Tạo một thư mục để lưu giữ tất cả các tạo tác đã tạo
Ví dụ: C: \ Axis \ Projects \ CurrencyConverter
Bước c) Mở dấu nhắc lệnh và điều hướng đến cấu trúc thư mục mà bạn muốn tạo các tạo tác và Chạy lệnh sau sẽ tạo ra các tệp gốc
% AXIS2_HOME% \ bin \ WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconvertor -d adb -s
Bước d) Khi lệnh được chạy thành công, bạn sẽ thấy thư mục chứa các tệp cần thiết.
Bước e) Trong bước tiếp theo của hướng dẫn Kiểm tra Dịch vụ Web này, chúng tôi phải tạo chương trình khách, qua đó chúng tôi sẽ gửi yêu cầu thực tế bằng cách sử dụng các sơ khai đã tạo. Mở nhật thực và tạo dự án Java mới và chọn thư mục mà chúng ta đã tạo ở trên.
Bước f) Thêm tất cả các lọ liên quan đến axis2 vào đường dẫn xây dựng dự án, sẽ ở đó trong thư mục lib của thư mục phần mềm axis2
(ví dụ: C: \ Axis \ axis2-1.6.2 \ lib)
Bước g) Tạo một lớp Java mới (ví dụ: Client.Java) và khởi tạo đối tượng gốc. Sử dụng đối tượng sơ khai, chúng ta có thể gọi tất cả các phương thức được hỗ trợ của WebService cụ thể.
Chương trình Client.Javagói org.apache.axis2.currencyconvertor;nhập org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;nhập org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;nhập org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;Khách hàng hạng công khai {public static void main (Java.lang.String args []) {thử {// Tạo đối tượng sơ khai bằng cách chuyển url điểm kết thúc dịch vụCurrencyConvertorStub stub = new CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate là lớp mà chúng ta phải sử dụng đề cập đến tiền tệ từ và đến// Đối tượng ConversionRate sẽ là tham số cho hoạt động convertRateConversionRate convertRate = new ConversionRate ();convertRate.setFromCurrency (Tiền tệ.USD);convertRate.setToCurrency (Tiền tệ.INR);// Tạo đối tượng ConversionRateResponse, đối tượng này sẽ được sử dụng để bắt phản hồi// gọi dịch vụ convertRate bằng đối tượng sơ khaiConversionRateResponse convertRateResponse = ste.conversionRate (convertRate);// Chúng ta có thể sử dụng đối tượng convertRateResponse để truy xuất phản hồi của Dịch vụ ConversionRateSystem.out.println ("Tỷ lệ chuyển đổi từ INR sang USD: + convertRateResponse.getConversionRateResult ());} catch (Ngoại lệ e) {e.printStackTrace ();}}}
PHẦN 2) Cách Kiểm tra Sử dụng Dịch vụ Web SoapUI
Trong SoapUI
- Đi tới Tệp> Dự án Xà phòng Mới
- Nhập Tên dự án và vị trí URI WSDL
- Bấm OK
- Mở rộng yêu cầu đầu tiên và nhấp đúp vào 'Request1'. Nó sẽ hiển thị yêu cầu SOAP ở định dạng XML.
- Nhập từ tiền tệ và tiền tệ
- Bấm vào nút gửi
- XML phản hồi sẽ được hiển thị ngăn bên phải.
Như bạn có thể kết luận, việc sử dụng các công cụ Kiểm tra Dịch vụ Web như SoapUI sẽ thúc đẩy Nỗ lực Kiểm tra Tự động hóa Dịch vụ Web của bạn. Do đó SoapUi sẽ là trọng tâm của việc học của chúng ta trong các bài hướng dẫn tiếp theo.
Tóm lược
- Các ứng dụng phần mềm giao tiếp và trao đổi dữ liệu với nhau bằng cách sử dụng WebService
- SOAP và REST là 2 giao thức phổ biến để tạo một WebService
- SOAP hỗ trợ trao đổi dữ liệu dựa trên XML
- REST hỗ trợ XML, Json hoặc trao đổi dữ liệu trong URL đơn giản để Kiểm tra API WebServices.
- WSDL là ngôn ngữ dựa trên XML sẽ được sử dụng để mô tả các dịch vụ được cung cấp bởi một dịch vụ web. SOAP được định nghĩa bằng WSDL.
- Để kiểm tra WebService, bạn có thể
- Tạo mã của riêng bạn. Ví dụ: sử dụng API Axis2 cho Java
- Sử dụng các công cụ Tự động hóa Kiểm tra WebService như SoapUI
- Các công cụ tự động hóa như SoapUI sẽ bắt đầu nỗ lực Kiểm tra tự động hóa dịch vụ web của bạn, sẽ yêu cầu ít nỗ lực mã hóa hơn so với việc tạo mã của riêng bạn bằng API Axis2
Câu hỏi thường gặp
Sự khác biệt giữa WebService và WebAPI là gì?
Dịch vụ web |
API web |
|
|
|
|
|
|
|
|
Tìm hiểu thêm về Kiểm tra API Web
Hướng dẫn Kiểm tra Dịch vụ Web này được thực hiện với sự đóng góp của Ông Narender Reddy Nukala