簡體   English   中英

API自動化框架的最佳實踐設計模式

[英]Best practice Design Pattern for API Automation Framework

在我們的項目中,我們需要自動化使用GraphQL和REST的Node.js編寫的API,為此,我們必須開發一個必須支持(同步,異步調用)的API自動化框架。

是否有任何好的實踐設計模式來設置API自動化框架?

您可以考慮使用Cucumber.js以及流行的REST客戶端軟件包之一。

Cucumber.js是“行為驅動開發”框架之一,可以使API測試更具可讀性和可管理性。

以下文章比較了可用於自動執行RESTful API的幾個程序包

在Node.js中發出HTTP請求的5種方法

有一些關於API測試以及Cucumber.js框架的示例

另外,要創建測試腳本,請考慮將CukeTest創作與Postman一起使用(具有良好的調試目的)

嚴格來講,僅涉及設計模式:您可以使用構建器模式並得到單一責任原則的支持。

就個人而言,在我們的組織中,我們使用帶有Builder模式方法的RestAssured驅動的框架。

作為結構的示例,我們有數據傳輸對象來保存API的請求和響應。 然后,我們有專門用於實現API的實現類。

如果您打算像我們一樣使用TestNG ,則可以將一個測試類與一個單獨的DataProvider類一起使用,這有助於代碼分離和更輕松的調試。

對於GraphQL API的集成測試,我使用了graphql-tester

設計將非常適合您的項目。

  1. 如果您擁有自己的API服務器,
    一種。 調用API。
    b。 您可以點擊后端(DB)並檢查數據庫中期望的字段是否已更新。
    C。 驗證HTTP響應。

  2. 如果您已經為第三方API編寫了包裝器,請了解來自第三方API的響應,並使用模擬服務器/ JSON服務器模擬它們。

對於集成測試(黑盒),在REST / GraphQL上無關緊要(一切都是HTTP調用)。 嘗試選擇一種可以獲取所有客戶端(DB,HTTP等)的語言。

有一個健全的測試用例,就像所有服務都應該在啟動測試用例之前就啟動並運行。

您可以使用mocha.js 根據官方網站的說法,“ Mocha是一個功能豐富的JavaScript測試框架,可在Node.js和瀏覽器上運行,從而使異步測試變得簡單而有趣。Mocha測試以串行方式運行,可以靈活,准確地報告,同時將未捕獲的異常映射到正確的測試用例。托管在GitHub上 。”

為什么要選擇它 :Mocha可以在node.js或瀏覽器中運行。 與Jasmine等其他JavaScript測試框架相比,您可以看到Mocha對異步測試的處理是選擇它的關鍵因素。 在測試API時,我們需要向端點發送一些數據,然后使用返回的數據來調用另一個端點。 例如,我們需要獲取一個用戶,然后獲取該用戶的ID以獲取屬於該用戶的所有位置。

Chai與Jasmine不同,必須使用其他斷言庫來補充Mocha。 Chai是一個斷言庫,可讓您選擇最喜歡的斷言接口,包括“聲明”,“期望”和“應該”。

為什么要選擇它 :盡管Mocha可以與任何斷言庫一起使用,而Chai可以與任何javascript測試框架一起使用,但是許多javascript開發人員選擇一起使用它們。 我們可以使用Chai的“ expect”接口將自然語言斷言鏈接在一起,因此我們可以徹底測試從API端點返回的JSON。

參考:有關更多信息, 請參見此

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM