Hiển thị các bài đăng có nhãn soap-ui. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn soap-ui. Hiển thị tất cả bài đăng

Test Soap API

Test SOAP API

Thực hiện theo các bước như hình sau để test API insert:

  • (1) : Double click để mở cửa sổ test API insert.
  • (2) : Nhập data test.
  • (3) : Gửi request.
  • (4) : Kết quả trả về (response).
  • (5) : Nhập thông tin chứng thực, header, … nếu có.
  • (6) : Chọn show log nếu cần.

Tương tự, chúng ta sẽ thử với API getAll():

Tạo và test REST project

Trước khi tạo REST project, chúng ta cần chuẩn bị một REST API. Để đơn giản, tôi sẽ sử dụng mockapi để tạo REST API (các bạn có thể bỏ qua bước này nếu đã có REST API).

Tạo REST API sử dụng mockapi

Truy cập vào địa chỉ https://www.mockapi.io và đăng ký một tài khoản.
Tạo mới một project:
Nhập thông tin project như sau:
Sau khi chọn Create, một project được tạo ra. Các bạn hãy lưu ý địa chỉ API được mockapi cung cấp, chúng ta sẽ sử dụng địa chỉ này để test trong SOAP UI.
Nhấn nút New resource để tạo mới resource cho project:
Nhập tên resources, chẳng hạn users -> Create.
Sau khi đã tạo resource, chọn (1) Generate all để tạo data test.
Mặc định mockAPI, sẽ tạo 50 data test, các bạn có thể xem/ sửa data test tại (2).
Chi tiết các bạn xem thêm document của mockapi.

Tạo REST project với SOAP UI

Tương tự như tạo SOAP project, để tạo REST project, chúng ta vào menu File -> New REST Project:
Nhập địa chỉ REST API để test, trong ví dụ này, chúng ta sẽ nhập địa chỉ mà mockapi đã cung cấp cho chúng ta ở bước trên:
Một REST project được tạo ra như sau:
  • (1) Thông tin project.
  • (2) Địa chỉ REST WS.
  • (3) Resource được cung cấp bởi WS.
  • (4)-(5) Tham số của request.
  • (6) Kết quả trả về (response).
  • (7) Nhập thông tin chứng thực, header, … nếu có.
  • (8) Chọn show log nếu cần.
Một số resouce (phương thức) được mockapi, cung cấp như sau:













  • (1) Nhập resource là: /users
  • (2) Chọn phương thức GET
  • (3) Thêm header, chấp nhận kiểu trả về là JSON.
  • (4) Chọn gửi request.
  • (5) Kết quả trả về (response).
Tương tự, các bạn hãy thử với các resource khác.
Trên đây là một vài thông tin cơ bản và cách sử dụng SOAP UI. Còn rất nhiều tính năng khác của SOAP UI các bạn tham khảo thêm ở các link bên dưới.
Tài liệu tham khảo:

Assertion trong soapUI




Assertions in SoapUI

Trong bài trước, chúng ta đã được giới thiệu cơ bản về SoapUI như tạo project, add WSDL, send request, receive response, tạo test suite, test case. Bài viết này sẽ giới thiệu về Assertion trong SoapUI.

1. Assertion

Sau khi một request được gửi đến Web Server thì một response sẽ được trả về. Chúng ta cần phải kiểm tra nếu các response có chứa các dữ liệu mà chúng ta mong đợi. Để kiểm tra các respone ấy, chúng ta cần dùng đến assertion.
SoapUI Assertions sẽ thực hiện so sánh một phần hoặc tất cả các response message với kết quả mong đợi. Chúng ta có thể sử dụng rất nhiều assertion được cung cấp bởi SoapUI vào bất kỳ test step nào. Mỗi loại assertion được sử dụng để validate response message như là matching text, comparing XPATH hoặc cũng có thể viết script truy vấn dựa trên nhu cầu khi kiểm thử thực tế.
** 2. Một số loại Assertion**
  • Contains AssertionNot contains Assertion: Contains AssertionNot contains Assertion thường được sử dụng trong trường hợp cần kiểm tra sự tồn tại hoặc không tồn tại của một chuỗi. Nó cũng support trong việc kiểm tra regular expression.
  • XPath Match Assertion: Sử dụng biểu thức XPath để nhận message, validate node và giá trị của node đó với giá trị mong muốn. XPath là một ngôn ngữ truy vấn XML cho việc lựa chọn các node của một tài liệu XML.
  • XQuery match assertion: XQuery match assertions làm việc như XPath Assertion chỉ khác nó sử dụng biểu thức Xquery để chọn XML cần validate, trong đó có một số lợi thế riêng biệt sử dụng trong các trường hợp kiểm thử phức tạp.
** 3. Làm việc với Assertion**
Các demo dưới đây sẽ sử dụng Medicare Supplier web service. Url: http://www.webservicex.net/medicareSupplier.asmx?WSDL
  • Tạo Soap project Medicare Supplier và tạo testsuite, testcase cho project (như hướng dẫn từ bài viết trước)
24-Sep-15 6-09-53 AM.png
  • Contains Assertion
    • Số assertion trong testcase được hiển thị trên Assertion Tab và mặc định là 0 assertion.
    • Click "Add new Assertion" button để thêm mới 1 assertion:
24-Sep-15 6-49-30 AM.png

             Lựa chọn Assertion CategoryAssertion Type và click "Add new Assertion" button để thêm mới 1 assertions:
24-Sep-15 6-57-05 AM.png
    • Nhập "New York" vào text field và click OK: 
24-Sep-15 7-21-41 AM.png
    • Note: Checkbox Ignore case in comparison sẽ bỏ check trường hợp giá trị kết quả là chữ hoa hay chữ thường. Có thể thêm regular expression vào assertions.
    • Tạo 1 assertions khác, nhập "ABC" vào text field và click OK
    • Thực thi testcase và kiểm tra kết quả. Kết quả được hiển thị trên Assertions tab là Valid hoặc Not Valid:
24-Sep-15 7-36-58 AM.png
  • ** Not Contains Assertion**
    • Click "Add new Assertion" button để thêm mới 1 assertion trên . Lựa chọn Assertion CategoryAssertion Type và click "Add new Assertion" button để thêm mới 1 assertions : 


24-Sep-15 7-46-12 AM.png
    • Sử dụng GetSupplierByZipCode tạo Not contains Assertion.
    • Nhập "10029" - là zip code của New York vào text field và click OK: 
24-Sep-15 7-50-48 AM.png
    • Tạo 1 assertion not contains khác: 
24-Sep-15 7-54-06 AM.png
    • Thực thi testcase và kiểm tra kết quả. Kết quả được hiển thị trên Assertions tab là Valid hoặc Not Valid:
24-Sep-15 7-56-32 AM.png
    • Asssertions not contains sẽ trả về true nếu giá trị kết quả mong muốn không tìm thấy, và ngược trả về fail nếu tìm thấy giá trị trên response message.
  • XPath Match Assertion
    • Sử dụng GetSupplierByCity testcase để tạo XPath Match Assertion
    • Click "Add new Assertion" button để thêm mới 1 assertion trên . Lựa chọn Assertion CategoryAssertion Type và click "Add new Assertion" button để thêm mới 1 assertions: 
24-Sep-15 8-04-45 AM.png
    • Trước khi thêm XPath, chúng ta cần khai báo NameSpace. Một NameSpace là một collection được định nghĩa bởi Uniform Resource Identifier (URI), được sử dụng trong XML Document như là elementattribute names. SoapUI XPath Assertion cũng tương tự như vậy.
    • Để khai báo XML Namespace, click button "Declare". Hiện thị trên màn hình sau khi click button Declare là một Schema URL và một Web Service URL tương ứng. 
24-Sep-15 8-12-49 AM.png
    • Nếu thực thi GetSupplierByCity request nó sẽ trả về response bao gồm danh sách dữ liệu của một thành phố nào đó. Ở đây chúng ta sử dụng Xpath Match expression để truy suất dữ liệu của New York.
    • Nhập XPatch của XML node cần validate: //ns1:SupplierData[1] trả về value của node <SupplierData> & </SupplierData> thứ 1.
    • Sau khi nhập XPath, click button "Select from current", value của response hiện tại sẽ được hiển thị:
24-Sep-15 8-39-55 AM.png
    • Click button "Save" và Assertion vừa tạo hiển thị như hình dưới đây: 
24-Sep-15 9-16-26 AM.png
  • XQuery Match Assertion
    • Sử dụng GetSupplierByCity testcase để tạo XPath Match Assertion
    • Click "Add new Assertion" button để thêm mới 1 assertion trên . Lựa chọn Assertion Category Assertion Type và click "Add new Assertion" button để thêm mới 1 assertions: 
25-Sep-15 12-36-01 AM.png
    • Tương tự như XPath Assertion, chúng ta cần phải khai báo Namespace. Clicking button "Declare", nhập XPath Query và đặt nó ở giữa thẻ <SupplierNumber> và </ SupplierNumber>.
    • Click 'Select from the Current', tất cả Supplier Number được hiển thị: 
25-Sep-15 1-05-09 AM.png
    • Click button "Save", XQuery Assertion được thực thi và hiển thị các kết quả cuối cùng trong 'Assertion' Panel như hình dưới đây. Bây giờ chúng ta đã thêm thành công một XQuery Assertion, sử dụng để validated thông tin của tất cả supplier Number. 
25-Sep-15 1-15-07 AM.png

Kiểm thử Web Service với SoapUI

1. Tổng quan về Web Service

  • Web Service một công nghệ cho phép client truy xuất để thực hiện mọi tác vụ như một Web Application. Về bản chất, Web service dựa trên XMLHTTP, trong đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu và dùng SOAP để truyền tải. Web Service không phụ thuộc vào platform nào, do đó bạn có thể dùng Web Service để truyền tải dữ liệu giữa các ứng dụng hay giữa các platform.
  • Sơ đồ tương tác giữa UserWeb Service
    webservice-soap-html-xml-diagram1.png
  • Nền tảng của Web Service:
  • WSDL - Web Service Description Language: WSDL là ngôn ngữ được sử dụng để mô tả đầy đủ về Web Service theo chuẩn XML như các phương thức, kiểu dữ liệu,… dựa trên XML schema.
  • SOAP - Simple Object Access Protocol: SOAP là một chuẩn giao thức được định nghĩa bởi W3C, là giao thức sử dụng XML để định nghĩa dữ liệu thông qua HTTP. SOAP là cách mà Web Service sử dụng để truyền tải dữ liệu. Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kỳ ngôn ngữ nào.
  • UDDI - Universal Description, Discovery and Integration

2. SOAP UI

  • SoapUI là một sản phẩm của hãng SmartBear.
  • SoapUI là công cụ kiểm thử mã nguồn mở API hàng đầu, cho phép bạn dễ dàng thực hiện kiểm thử tự động chức năng, kiểm thử hồi quykiểm thử tải trên các Web API khác nhau. 
  • SoapUI hỗ trợ tất cả các chuẩn giao thức và công nghệ để test tất cả các loại API
  • SoapUI còn cho phép chúng ta thực hiện thử nghiệm phi chức năng như kiểm thử hiệu suấtkiểm thử bảo mật
  • SoapUI có giao diện đơn giản, thân thiện, dễ sử dụng.

Một số tính năng quan trọng của SoapUI:

1. Kiểm thử chức năng:

  • Một công cụ mạnh mẽ cho phép tester viết Functional API Tests trong SoapUI
  • Hỗ trợ tính năng kéo-thả mà làm tăng tốc độ phát triển script.
  • Hỗ trợ gỡ lỗi và cho phép tester phát triển data driven tests.

2. Kiểm thử bảo mật:

  • Ngăn chặn SQL Injection để bảo đảm cơ sở dữ liệu
  • Thực hiện Fuzzing scanBoundary scan để tránh những hành vi thất thường của các dịch vụ.

3. Kiểm thử tải:

  • Kiểm thử khả năng chịu tải của một ứng dụng web sử dụng loadUI. Sau khi thực hiện kiểm tra tải, LoadUI sẽ tạo ra một bản báo cáo, giúp xác định liệu các ứng dụng có thể chịu tải nặng hay không.
  • Kiểm thử khả năng chịu tải của một ứng dụng web sử dụng loadUI
  • Mô phỏng mức độ cao và kiểm thử tải thực tế một cách dễ dàng.
  • Cho phép tùy chỉnh báo cáo chi tiết để nắm bắt các thông số hiệu suất.

4. Hỗ trợ các giao thức và công nghệ:

010915_0948_Introductio2.png

3. Cài đặt SoapUI

  • B1: Download SoapUI free version:
  • B2. Thực hiện cài đặt
    • Chạy file cài đặt:
    • Trong Setup Winrar click vào nút Next để chuyển sang trình hướng dẫn cấp giấy phép. Chấp nhận các điều khoản và điều kiện, chọn thư mục mà SoapUI có thể truy xuất các tập tin hỗ trợ và cài đặt. Nhấn Next để chọn các component. 
    • Xem ảnh chụp màn hình dưới đây để bạn tham khảo:
813daade065308c639d3b0f3aaa5275b.png

  • Trong ảnh chụp màn hình, chúng ta có thể thấy một số các thành phần ngoài SoapUI:
    • Source component: Có chứa mã nguồn hoàn chỉnh cho các công cụ SoapUI. Bạn có thể cài đặt thành phần này và phân tích mã nguồn SoapUI.
    • Tutorials component: Cung cấp các hướng dẫn.
    • HermesJMS component: Sử dụng cho việc gửinhận tin nhắn thông qua Java Messaging Service, được cấu hình trong trường hợp của các dịch vụ liên quan kiểm tra JMS.
  • Để cài đặt HermesJMS component, lựa chọn chấp nhận các điểu khoản. Vì vậy, hãy nhấp vào nút Next.
  • Sau khi hoàn thành, cuối cùng sẽ hiển thị cửa sổ này:
f29217c3045ed69b60baee6a63600678.png
  • Nhấn vào nút "Finish" để hoàn tất quá trình cài đặt và khởi động SoapUI.
b7d57e407623b45e65f3dd8f58f82e83.png

4. Làm việc với Project: Tạo Project, Test Suite, Test Case

a. Tạo SoapUI Project:
  • B1: Mở ứng dụng SoapUI
  • B2: Nhấn New Project SOAP từ menu File hoặc nhấn phím tắt CTRL + N.
  • B3: Nhập tên Projecturl WSDL hợp lệ
  • B4: Các thiết lập còn lại có thể được để lại mặc định và sau đó nhấp OK để hoàn tất.
26-Jul-15 5-35-26 PM.png
  • Khi URL được WSDL xử lý thành công, SOAP Project sẽ được tạo ra:
26-Jul-15 5-38-40 PM.png
  • Bạn có thể double click vào Project để thấy cửa sổ overview của Project để xem các thông tin chi tiết của nó.
26-Jul-15 5-42-21 PM.png
  • Bạn có thể double click vào Interface để xem overview của Interface. Nó đưa ra nhiều thông tin về WSDL. Điều này rất hữu dụng cho việc truy xuất và kiểm tra một WSDL.
26-Jul-15 5-44-38 PM.png
Demo: Tạo request tới Web Service
  • B1: Tạo New Request tới Web Service
26-Jul-15 5-52-18 PM.png
  • B2: Double click vào request. Nó sẽ hiển thị SOAP request dưới dạng XML.
    • Nhập chuyển đổi giữa 2 loại tiền tệ: FromCurrency ToCurrency
    • Click nút  26-Jul-15 8-50-42 AM.png
    • Sau khi click nút Run, SoapUI sẽ gửi request tới Web Service chuyển đổi tiền tệ cùng với các thông số đầu vào được cung cấp trong yêu cầu. Sau đó, Web Service sẽ nhận được các thông số đầu vào và xử lý chúng. Sau khi thực hiện, Server sẽ gửi response cho SoapUI.
    • Response XML sẽ được hiển thị cửa sổ bên phải.
26-Jul-15 8-45-29 AM.png
  • Đôi khi các response có thể chứa các thông báo lỗi. 
  • Ví dụ, trong khi xử lý yêu cầu đầu vào, xảy ra trường hợp down server hoặc mất kết nối Internet, trong thời gian đó, chúng ta sẽ nhận được một response là một exception.
Ví dụ, để test một negative scenario, chúng ta hãy nhập US cho << >> FromCurrency và VND cho << >> ToCurrency và gửi request tới Web Service.
Response nhận được như hình dưới đây:
26-Jul-15 9-00-50 AM.png
b. Tạo Testsuite:
  • B1: Trong Project hiện tại, chúng ta có thể tạo ra Testsuite bằng cách click chuột phải vào thư mục gốc của Project -> New Testsuite hoặc nhấn phím tắt Ctrl + T
  • B2: Đặt tên Testsuite và nhấn OK, Testsuite sẽ được hiện thị bên thanh navigator:
26-Jul-15 1-33-43 PM.png
c. Tạo Testcase
  • B1: Tạo Testcase trong Testsuite bằng cách click chuột phải vào Testsuite, chọn New Testcase hoặc nhấn Ctrl + N
  • B2: Đặt tên testcase và ấn OK để tạo testcase. Testcase được tạo gồm Test steps, Load testsSecurity tests được hiển thị trên thanh navigator như sau:
26-Jul-15 1-44-39 PM.png
  • Chúng ta có thể chèn test step bằng cách nhấn chuột phải vào testcase và lựa chọn một test step thích hợp như hình dưới đây. Ví dụ với Test Soap Request:
26-Jul-15 1-51-05 PM.png
  • Nhập thông tin đầu vào chuyển đổi giữa 2 loại tiền tệ: FromCurrencyToCurrency
Trong phần này tôi đã giới thiệu với các bạn cơ bản về Web Service và công cụ test Web service - SoapUI, tính năng của SoapUI và cách làm việc với Project, tạo testsuites, testcases, test steps. 
Phần tiếp theo tôi sẽ giới thiệu với các bạn về SoapUI AssertionsWorking with Operators trong SoapUI.
Cám ơn các bạn đã theo dõi bài viết.

Ý kiến của bạn là điều tuyệt vời nhất

Cho xin ý kiến nhé!

Tên Email * Thông báo *

Our Location