API自動化測試 Soap UI工具介紹

1、   創建測試用例json

(一)   基本概念api

soapUI 中工程的層次結構
併發

  • 項目名稱:位於最上層 (BookStoreTest),項目能夠包含多個服務的定義。
  • REST 服務定義:服務實際上是對多個 REST 資源的一個分組,在咱們的例子中只有一個服務 BookStoreServie
  • REST 資源定義:具體描述該資源的名稱,URI, 參數等屬性
  • REST 方法定義:針對每一個資源的方法 (GET,POST,PUT,DELETE 等 ),圖 1 中的方法名就是 GetBookList
  • REST 操做請求定義:基於每一個方法,能夠有一個或多個請求操做,如 GetBookListRequest,這些請求操做纔是真正被 soapUI 所調用執行的。每一個請求能夠設置很是豐富的信息,例如 Accept 類型,請求的 Header 信息,運行了該請求之後,就能以各類方式查看運行結果。可是這裏還不能加入斷言來驗證結果 - 必須在創建測試用例之後才能使用。

 TestCase 定義
性能

  • TestSuite:相似於 Junit 中的測試套件,其中能夠加入多個 TestCase
  • TestCase:能夠包含多個 TestStep
  • TestStep:一個 TestCase 能夠包含多個 TestStep,TestStep 有多種類型,它能夠是上面提到一個 REST 操做請求,也能夠是一個 Groovy 的腳本,還能夠試一個設置屬性的操做。 TestStep 甚至支持分支跳轉操做:根據特定的條件,從一個 step 能夠跳轉到其餘 step, 而沒必要順序執行。

(二)   建立REST 服務測試

1. 新建一個名爲 RESTTest 的項目 ui

2. 在項目上點擊右鍵,選擇"New Rest Service",在對話框中輸入 Service Name(AuthenticationService) 和Endpoint(http://qa-server11.achievo.com:33080) 線程

3. 在" AuthenticationService "上點擊右鍵,選擇「New Resource」, 在對話框中輸入 Resource Name(Auth) 和 Resource Path (/apis/v1/auth/agency),點擊 OK 3d

4. 在彈出的對話框中輸入 Method Name: signon4AgencyUser,HTTP Method 選擇默認的 POST, 點擊 OKserver

5. 在「signon4AgencyUser」上點擊右鍵,選擇「New Request」,在對話框中輸入「Request login success」xml

建立一個 REST 服務

(三)   建立測試用例

主要有兩種方式:

  • 自動生成,步驟以下:
    (1). 右鍵點擊一個 REST 服務,例如本例中的"AuthenticationService", 選擇"Generate TestSuite"
    (2). 在彈出的對話框中,保持默認設置, 選擇"OK"
    (3). 輸入名稱 , 例如"AuthenticationService TestSuite", 選擇"OK"便可。
  • 手工建立,步驟以下:
    (1). 在項目"RESTTest"上點擊右鍵,選擇「New TestSuite」, 在對話框中輸入"AuthenticationService TestSuite"
    (2). 在 AuthenticationService TestSuite 上點擊右鍵, 選擇"New TestCase", 在對話框中輸入"login TestCase"
    (3). 而後在左邊的導航欄中展開 login TestCase, 在「Test Steps」上點右鍵,選擇 Add Step->Rest Test Request
    (4). 在彈出的對話框中選擇 「Request login success」

(四)   添加斷言

測試用例建好以後,須要向測試用例中添加 Assertions 以便驗證結果的正確性。soapUI 支持 Response SLA, Script Assertion, Contains, XQuery Match, Schema Compliance, XPath Match 以及 Not Contains 等多種斷言來對 response 進行判斷來保證對 Web 服務高質量的測試。

點擊 TestCase 的添加 Assertions 按鈕。 在彈出的 Select Assertion 窗口中選擇 XPath Match 斷言,點擊 OK。配置 XPath 以下圖所示:

 

 

 

 

(五)   運行測試用例

 


2、   性能測試

性能測試在 soapUI 中稱爲 Load Test, 針對一個 soapUI 的 TestCase, 能夠創建一個或多個 LoadTest, 這些 LoadTest 會自動的 把 TestCase 中的全部步驟都添加到其中, 在運行的時候,soapUI 會自動的使用多個線程來運行這些 TestStep,同時也會監控 它們的運行時間, 例如最短期,最長時間,平均時間等等。這樣用戶可以很直觀的看到 REST 服務的響應時間,從而對性能進行調優。

創建 LoadTest 很是簡單,只須要在「Load Tests」上點擊右鍵, 選擇"New LoadTest", 而後輸入名稱便可,下圖是一個針對 GetBookList 的 性能測試, 能夠看到有兩個 TestStep : "GetBookList_xml" 和"GetBookList_json" , 100 個線程併發執行, 時間限制是 60 秒。 最後的結果是,最短期 4 毫秒,最長時間 1204 毫秒,平均時間 20.54 毫秒。

相關文章
相關標籤/搜索