cypress現在可謂是越來越火爆了,github上已經30.2K star了。作為一名曾使用selenium做web自動化的
測試人員,很想去一探究竟。
一、什么是cypress
Cypress稱自己是下一代的web前端測試工具,並且解決了開發和測試人員在測試當下應用程序時的關鍵痛點。
很多時候,cypress會被拿來與Selenium作比較,但是從根本上來說,這兩個是不一樣的東西,所以,cypress
不用受到Selenium的那些限制。這樣一來,cypress可以讓我們能更快、更容易的編寫更可靠的測試代碼。
cypress可以用來編寫所有類型的測試:端到端的測試、集成測試、單元測試。只要有一個瀏覽器來給它運行,它
就可以來測試web里任何東西。
作為一款開源框架,cypress的生態也是非常豐富的。支持在本地安裝,還有一個內容豐富的儀表盤來記錄測試運行細節。
另外,支持CI持續集成也是必不可少的。
二、cypress獨有特點
獨有特點,也就是cypress能做到的,而其他測試框架不能做的事情:
- 測試運行過程:在運行測試的時候,cypress會獲取快照,記錄了測試執行過程的每一步細節。
- 可調試性:支持使用web瀏覽器上的開發工具直接調試,有豐富錯誤和堆棧跟蹤信息。
- 自動等待:在頁面某些元素還沒出來的時候,通常我們會添加等待的代碼。但是在cypress中,是自動等待的,直到
元素出現,或者超過了你設置的超時時間。 - Spies, Stubs, and Clocks: 這三樣特性可以幫助我們更好的控制和確認功能的行為,比如服務的響應。
- 截圖和視頻:支持失敗自動截圖,還可以在運行測試的時候生成運行過程的視頻。
- 跨瀏覽器測試:支持chrome、Firefox等多瀏覽器測試。
其他亮點
- 環境安裝:快速安裝。沒有服務器,驅動程序,或任何其他依賴需要安裝或配置,短短60s內就可以搞定。
- 編寫測試:測試腳本可閱讀性高,易於理解。
- 運行測試:Cypress運行速度非常快,基本可以與瀏覽器內容實時同步,感受一下。
- 調試:錯誤消息可讀性好,與我們常用的開發工具相結合,可以幫助快速調試。
以上雖然只是簡單的介紹,但是已經讓我體會到了cypress的強大之處。一個框架好不好用,在我看來就是簡單,效率,穩定。
隨着后面學習的逐步深入,一點點的來揭開cypress的面紗。