Cypress 測試自動化


Cypress 支援大多數基於 React、Angular 等構建的現代應用程式。Cypress 通常與 Selenium 等自動化工具進行比較。關於哪個工具[Cypress 和 Selenium]在自動化方面更好,有很多爭論。

但是,Cypress 和 Selenium 都有其優點和缺點,選擇哪個工具取決於使用者的需求。現在讓我們討論一下 Selenium 和 Cypress 之間的一些區別,如下所示:

  • Cypress 可以以框架或 npm 的形式使用。它被認為是一個工具。而 Selenium 則以需要下載的 JAR 或 API 的形式使用。

  • Cypress 只執行在 Javascript 上。Selenium 執行在各種語言上,如 Python、Java、Javascript、Ruby 等。因此,Selenium 的使用範圍更廣,並且擁有非常好的社群支援。

  • Cypress 只支援 Firefox、Chrome、Electron 和無頭瀏覽器。對 Firefox 的支援仍在開發中。Selenium 支援所有主要的瀏覽器,如 Firefox、Chrome、IE 和 Safari 等。

  • Cypress 選擇器包括 JQuery、css 和一些用於執行的外掛。因此,處理動態 Web 表格可能很棘手。Selenium 選擇器包括類名、ID、連結文字、部分連結文字、xpath、標籤名和 css。

  • Cypress 直接在瀏覽器中執行執行,速度稍快。Selenium 的執行速度較慢。

  • Cypress 沒有同步問題,預設情況下,所有元素都有一個內部配置或有時自定義的預設超時時間。Selenium 有很多同步問題,這些問題可以透過隱式、顯式和流暢等待來解決。

  • Cypress 具有內部捕獲螢幕截圖和影片的功能,無需任何外部資源、庫或第三方工具的幫助。Selenium 預設具有捕獲螢幕截圖的功能,但對於影片則沒有支援,它依賴於外部資源。

  • Cypress 不支援直接切換到不同的選項卡或子視窗。它提供了使用 JQuery 方法來支援它們的變通方法。Selenium 具有多個 API,可以切換到不同的選項卡、子視窗和警報。

  • Cypress 不支援任何移動應用程式和瀏覽器。Selenium 支援移動應用程式和瀏覽器。

Cypress 作為自動化領域的新工具,正越來越受到測試和開發社群的歡迎。

下圖顯示了近六個月內透過 npm trends 顯示的 Cypress 下載量:

來源 - https://www.npmtrends.com/cypress

更新於:2020年8月5日

1K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告