發表文章

目前顯示的是 5月, 2025的文章

在 E2E 測試 Mock 情境

目前E2E Mock情境: 1. API 請求與回應 Mock (未) 2. 資料庫查詢與儲存 Mock  3. 外部系統與微服務 Mock  4. 前端與後端互動 Mock (未)  5. 第三方服務(如電子郵件、簡訊、通知)Mock (未) 6. 第三方檔案服務(如 S3、FTP、雲端儲存)Mock   在 E2E 測試中,Mock 是指模擬或替代外部系統、服務或資源,確保測試環境穩定且可控。以下是 E2E 測試中常見的 Mock 情境以及應使用的 Mock 工具: E2E Mock情境 1. API 請求與回應 Mock 情境: 測試系統中的某一部分需要調用外部 API(如第三方支付、地圖服務、天氣 API),但這些 API: 可能會有費用(付費 API)。 可能會限流(API Rate Limiting)。 回應時間不可控(延遲/超時)。 測試環境中無法連接。 推薦工具:WireMock:Java Mock 服務框架,支援 HTTP/HTTPS API 模擬,並可輕鬆設定回應狀態、延遲和錯誤情況。 MockServer:Java Mock 服務工具,支援動態 API 模擬和 HTTP/HTTPS。 Karate Mock Server:內建於 Karate 框架中,快速建立 API 模擬,並支援 GraphQL、SOAP。 推薦工具: WireMock:Java Mock 服務框架,支援 HTTP/HTTPS API 模擬,並可輕鬆設定回應狀態、延遲和錯誤情況。 MockServer:Java Mock 服務工具,支援動態 API 模擬和 HTTP/HTTPS。 Karate Mock Server:內建於 Karate 框架中,快速建立 API 模擬,並支援 GraphQL、SOAP。 實務應用: 模擬第三方支付 API(成功/失敗/超時)。 模擬 Google Maps API 回傳地理位置。 模擬電子郵件服務 API(SMTP)。  2. 資料庫查詢與儲存 Mock 情境: 測試系統需進行資料庫查詢或儲存,但: 測試數據需保持固定,避免受測試影響。 資料庫伺服器負載可能影響測試穩定性。 測試期間不希望實際修改資料庫數據。 推薦工具: H2 Database:嵌入式 Java 資料庫,模擬 MySQL、Po...

Karate 的 API 测试框架 (Cucuber & BDD)

圖片
  Karate  Karate 是一种 API 测试框架,其独特之处在于它不依赖通用编程语言,而直接使用基于 Gherkin 的语法编写测试。 Karate 使用一种领域特定语言,来描述基于HTTP的API测试。 1.著重在後端Java API mock 的測試. 2.轻松实现自动API测试.   3.基于 java 进行运行和扩展。 4. 支持使用 cucumber 的 feature 直接编写测试用例,使用Gherkin, 也就是 可以直接用 given,when,then 的 BDD 格式编写用例并且执行。  介紹: https://blog.csdn.net/NHB456789/article/details/139030527 功能: https://testerhome.com/articles/37241 功能&  Html网页版的报告 https://cloud.tencent.com/developer/article/2166222  https://blog.csdn.net/ouguangqian/article/details/115940368 Karate API测试: https://zhuanlan.zhihu.com/p/266262800