api自动化测试_API测试和自动化101:基本指南
api自動化測試
API代表A pplication P AGC軟件我覆蓋整個院落。 通常,API用于通過使用任何通信方式來促進兩個不同應用程序之間的交互。 在網(wǎng)絡上使用API??時,我們將其稱為“ Web服務”。 近年來,API已成為編程的Struts。 與在應用程序中一樣,編寫API與數(shù)據(jù)庫或與其他模塊進行通信現(xiàn)在已成為一種慣例,這就是為什么作為測試人員,我們必須測試API以最大程度地覆蓋測試范圍。
作為集成測試的一部分,API自動化可以幫助加速測試并提高效率。 由于大多數(shù)公司在業(yè)務層使用RESTful微服務/ API,因此API測試已成為任何版本測試計劃的關鍵組成部分。
用最簡單的術(shù)語來說,API是一項服務,可以幫助兩個不同的應用程序相互通信。 通常,API用于抽象業(yè)務邏輯并直接對任何應用程序進行數(shù)據(jù)庫訪問。
從邏輯上講,我們可以將整個系統(tǒng)分為三層:
換句話說,API是我們互聯(lián)世界的大腦。 這是將我們的數(shù)字世界粘合在一起的工具,協(xié)議,標準和代碼的集合。 由于它們提供的動態(tài)特性和功能,API使公司變得更加敏捷,事物可以移動并且一切都以簡化的集成方式一起工作。因此,API測試是在服務級別和集成級別對API進行測試。水平。
API的測試策略-
在測試API時,測試人員應集中精力使用軟件進行API調(diào)用,以便在觀察和記錄系統(tǒng)響應之前接收輸出。 最重要的是,測試在不同條件下API返回正確的響應或輸出。 此輸出通常是以下三個之一:
- 通過或失敗狀態(tài)
- 數(shù)據(jù)或信息
- 調(diào)用另一個API
但是,也可能根本沒有輸出,或者發(fā)生了完全無法預測的事情。 這使測試人員的角色對于應用程序開發(fā)過程至關重要。由于API是許多應用程序的數(shù)據(jù)中心,因此API的數(shù)據(jù)驅(qū)動測試可以幫助提高測試覆蓋率和準確性。
在直接測試API時,指定通過/失敗方案更具挑戰(zhàn)性。 但是,在比較響應中的API數(shù)據(jù)或比較另一個API中的API調(diào)用后的行為時,將幫助您設置確定的驗證方案。
API測試是整個軟件測試和QA測試鏈中最具挑戰(zhàn)性的部分之一,因為它可以確保我們的數(shù)字生活以越來越無縫和高效的方式運行。 盡管開發(fā)人員傾向于只測試他們正在使用的功能,但測試人員負責測試單個功能和一系列功能或一系列功能,以發(fā)現(xiàn)端到端的協(xié)作方式。
API測試類型
首先確定您需要對API執(zhí)行哪種類型的測試。 就像測試人員對其產(chǎn)品功能進行不同類型的測試一樣,API也是如此。 API的常見測試包括-
單元測試 –測試單個操作的功能。 例如-Google提供了地理編碼API,以獲取任何位置的經(jīng)度和緯度。 這通常以地址作為輸入,并返回緯度。 現(xiàn)在,對于此API的單元測試,測試人員可以通過不同的位置并驗證結(jié)果。
功能測試-這種測試類型主要集中在API的功能上。 這將包括測試用例,以驗證HTTP響應代碼,響應的驗證,萬一API返回任何錯誤的錯誤代碼等。
負載測試-在API處理大量數(shù)據(jù)并同時有一定數(shù)量的用戶使用應用程序的情況下,這種類型的測試是必需的。 這會同時增加API命中率,并且可能會崩潰并且無法承擔該負載。
安全測試-安全測試尤其重要,因為使用API??在兩個不同的應用程序之間創(chuàng)建鏈接。 使用API??的核心目的是使應用程序的數(shù)據(jù)庫抽象或隱藏。 這可能包括測試用例,例如授權(quán)檢查,會話管理等。
互操作性測試-這是為了測試應用程序應該可以訪問的API。 這適用于SOAP API。
WS合規(guī)性測試-已對API進行測試,以確保正確實施和利用WS-Addressing,WS-Discovery,WS-Federation,WS-Policy,WS-Security和WS-Trust等標準
滲透測試-這是從外部資源中查找API的漏洞。
Web服務/ API協(xié)議-
如果我們談論網(wǎng)絡服務,則主要有兩種類型的服務,或者我們可以說協(xié)議:
REST - REST代表RE表象小號大老貿(mào)易交接相比,SOAP這意味著它要克服一切與SOAP的問題,這是塊新的。 REST是一種輕量級協(xié)議,它使用URL來獲取所有必需的信息。 它使用四種HTTP方法執(zhí)行任務-
REST由于其簡單輕巧的體系結(jié)構(gòu),如今已越來越多地使用。
SOAP API-支架使用S imple?bject 一個 CCESS P rotocol。 它使用XML進行消息交換。 執(zhí)行此任務所需的所有信息均以其WSDL(Web服務描述語言)給出。 SOAP由于其廣泛使用的標準和XML而非常笨重。 SOAP相對于Rest的主要優(yōu)點是它具有內(nèi)置的錯誤處理功能,并且可以與其他協(xié)議(例如SMTP)一起使用。
API測試和自動化工具
有幾種工具可以測試API。 當測試人員測試API時,他們必須索要其文檔,無論是REST還是SOAP API還是其非基于Web的API,都應該始終有一個文檔,其中應寫有詳細信息。 進行API測試-
- 典型的API文檔具有與該API相關的所有信息,例如其請求格式,響應,錯誤代碼,資源,強制性參數(shù),可選參數(shù),標頭等。該文檔可以通過各種工具(例如,開源,Dapperdox, ReDoc等
- 之后,嘗試為API編寫服務級別案例。 例如,如果某個API使用n個參數(shù)來獲取響應,其中m是強制性參數(shù),其他是可選參數(shù),則一個測試用例應該是嘗試使用不同的參數(shù)組合并驗證響應。 另一個測試用例可能會驗證標頭,并嘗試在不通過身份驗證的情況下運行API,并驗證錯誤代碼。
- 接下來是集成測試步驟,您需要在其中測試API及其所有從屬API或功能。 這還包括測試API響應,應返回給另一個API或方法的數(shù)據(jù)以及該API失敗時會發(fā)生的情況。
- 一旦API穩(wěn)定并且?guī)缀跬瓿晒δ軠y試,測試人員就可以執(zhí)行負載,安全性和性能測試。
API自動化
我們經(jīng)常需要自動化重復執(zhí)行的測試用例。 對于例如-回歸案例。 同樣,在進行API測試的情況下,在某些情況下我們可能需要在每個版本之前執(zhí)行,并且這些情況可以自動化。
有許多用于API自動化的工具,它們非常流行-
SOUP UI-這是非常流行的API測試工具。您可以使用SoapUI對API進行功能,負載,安全性和合規(guī)性測試。
Katalon Studio-建立在Selenium和Appium的頂部,Katalon Studio是一個免費且功能強大的自動化測試工具,用于Web測試,API測試和移動測試。
Postman-郵差是免費的,可以幫助您更有效使用API時。 它具有開發(fā)和測試API的所有功能。
Jmeter-盡管Jmeter主要用于性能和負載測試,但在很大程度上也可以用于API功能測試。
RestAssured- Rest-Assured是一個基于Java的庫,用于測試RESTful Web服務。該庫可以包含在現(xiàn)有框架中,并直接調(diào)用其方法以json格式獲取響應,然后執(zhí)行所需的操作。
我以一個示例來說明基本API功能測試所遵循的步驟,這里我使用的是CloudQA提供的TruAPI工具,該工具是新的并且越來越受歡迎-
步驟1-要運行API請求,您需要首先選擇“方法類型”并粘貼API的URL。 按發(fā)送按鈕將請求發(fā)送到API或按添加API測試按鈕保存請求-
試試這個樣本方法類型和API URL
- 方法類型: GET
- APIURL:https://um5fdww2pj.execute-api.us-east-1.amazonaws.com/dev/todos
步驟2:API請求信息:
- 大多數(shù)API需要其他輸入來執(zhí)行請求,例如參數(shù),標頭,Body(JSON)等。
- 要添加請求的參數(shù),您可以選擇相應的“ 參數(shù)”選項卡,然后按“ 添加參數(shù)”按鈕以添加所需的信息。
第3步:發(fā)送帶有身份驗證的API請求:
- 如果您的托管API需要身份驗證,則可以轉(zhuǎn)到“授權(quán)”選項卡,然后從下拉列表中選擇“ BasicAuth ”(默認設置為“ Noauth”),然后輸入用戶名和密碼。 現(xiàn)在您可以發(fā)送經(jīng)過身份驗證的請求了。
- 每個API響應均包含不同的值,例如狀態(tài)代碼,正文,標頭和完成API請求的時間。 下圖顯示了如何描述收到的API響應。
添加斷言:
- 在自動化過程中,使用斷言驗證輸出非常重要。 要在API運行程序中添加斷言,請轉(zhuǎn)到“斷言”選項卡。 您可以在此處添加一個或多個斷言。
- 請按照以下步驟添加斷言:
- 選擇回應類型
- 您已經(jīng)添加了斷言
變量:
- “變量”選項卡對于存儲作為已發(fā)送的API請求的響應而接收的值很有用。 若要保存響應,請轉(zhuǎn)到“變量”選項卡,然后執(zhí)行以下步驟:
- 添加變量
查看或執(zhí)行已保存的API請求:
- 當您進入API Runner頁面時,請使用“查看保存的測試”按鈕查看保存的測試
- 選擇一個或多個保存的API測試,并默認運行選定的測試,這些測試將顯示上一次執(zhí)行的運行狀態(tài)信息
- 結(jié)果將顯示API執(zhí)行歷史記錄
這是單一的API執(zhí)行和自動化。 對于現(xiàn)實世界的場景,我們經(jīng)常需要創(chuàng)建包含所有回歸測試用例的API套件,并將其作為回歸測試的一部分來運行。 在敏捷中,準備好一套西裝以使其能夠與CI和CD集成至關重要。
CloudQA附帶了有關該工具的非常豐富的文檔,CloudQA提供的所有工具都符合“無代碼自動化”的思想,并且對于手動測試人員而言非常易于使用。
文檔鏈接-https://doc.cloudqa.io/TruAPI.html
從邏輯上講,我們可以將整個系統(tǒng)分為三層:
翻譯自: https://www.javacodegeeks.com/2019/01/api-testing-automation-essential-guide.html
api自動化測試
總結(jié)
以上是生活随笔為你收集整理的api自动化测试_API测试和自动化101:基本指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 扎克伯格:与马斯克的笼斗不会发生
- 下一篇: gradle使用maven_使用Grad