Cypress 架構(測試自動化)


下圖描述了 Cypress 架構。

大多數自動化測試工具(如 Selenium)透過在瀏覽器外部執行並透過網路執行遠端命令來執行操作。Cypress 具有完全不同的功能。

Cypress 位於瀏覽器本身內部。在 Cypress 的後臺,存在 Node.js 伺服器。Node 伺服器和 Cypress 不斷互動、調整和執行操作,相互支援。

因此,Cypress 可以訪問應用程式的前端和後端。這有助於它同時處理應用程式上的即時事件,並在瀏覽器外部執行需要更高許可權的任務。

Cypress 能夠透過監視和更新網路流量來作用於網路層。這不僅有助於它調節進出瀏覽器的流量,還可以更新處理瀏覽器自動化的程式碼。

Cypress 擁有控制整個自動化流程的能力,因此它可以理解瀏覽器內部和外部發生的事情。Cypress 安裝在我們的本地機器上。

這使得它成為執行錄製影片、捕獲螢幕截圖、基本檔案系統和網路相關操作等操作的重要工具。Cypress 可以訪問 DOM、視窗物件、本地儲存、網路層、瀏覽器開發者工具等等。

簡而言之,我們可以說 Cypress 在瀏覽器內部工作,並且是瀏覽器正在執行我們的測試程式碼。它可以透過處理 DOM 並動態修改網路的請求和響應來更改瀏覽器在執行時的行為。

Cypress 的優點如下:

  • Cypress 可以測試基於 React、Angular、Vue 和 JavaScript 的現代應用程式。

  • Cypress 不依賴於 Selenium。

  • Cypress 在瀏覽器內部執行,因此具有更多控制權,測試執行更可靠且速度更快。

  • 開發人員和測試人員都可以使用 Cypress。

  • 開發人員和測試人員都可以使用 Cypress。

  • Cypress 程式碼易於除錯。

Cypress 的缺點如下:

  • Cypress 只能在 Javascript 上執行。

  • Cypress 對 Firefox 和 Chrome 的支援仍在開發中。

  • Cypress 無法測試任何原生或移動瀏覽器。

更新於: 2020年8月5日

4K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告