Selenium 4 的新功能:為何需要主要版本更新?
分類
在本系列的第二篇文章中,Simon Stewart 繼續談論 Selenium 4 即將推出的功能,以及為何此版本需要主要版本更新。
在我上一篇文章中,我分享了一些關於 Selenium 專案整體運作方式的資訊。現在,讓我們開始談論 Selenium 4 以及即將推出的功能。我認為我應該澄清的一件事是「為何需要主要版本號碼更新?」
有時我開玩笑說,版本號碼更新的主要原因是,雖然 Pi 的位數是無限的,但當我們從 3.14 變成 3.141 時,人們有點不高興。變成 3.141.5 然後 3.141.59 是我們想要推動這個特定想法的極限 :)
更認真地說,第一個原因是我們有一個修訂後的 Selenium IDE。多年前,這過去僅適用於 Firefox,因為它使用了 XPI 擴充機制(這是 Firefox 特有的)。它現在是一個 Web 元件,您可以為 Chrome、Firefox 以及任何其他支援 Web 元件的瀏覽器下載它。目前正在進行將其重寫為 Electron 應用程式的工作,這將使我們能夠更好地利用 IDE 運行的原生作業系統。這項工作主要由 Applitools 的開發人員推動。他們從 SideX 公司遷移到使用 Web 元件的原始 Selenium IDE 基礎開始。這是社群良好合作的一個絕佳範例。
其次,我們已完全採用 W3C WebDriver 協定,並已放棄對原始自製線路協定的支援。Selenium 與網頁瀏覽器通訊的方式是透過線路協定,該協定實際上只是 HTTP 上的 JSON。最初,這是隨著我們找出問題而有機地發展起來的,我們試圖讓瀏覽器執行我們需要的操作。原始協定被稱為 JSON 線路協定,因為它透過線路傳輸 JSON(而且我們不太擅長想出非常原創的名稱)。
原始協定是 W3C WebDriver 協定的基礎,它 smoothed 一些粗糙的邊緣,並為協定帶來了一些非常需要的相容性。標準化協定改進的兩個主要領域包括會話建立,我們消除了相當大的歧義,並透過提供更豐富的 API 來指定使用者動作。
那麼,採用 W3C 協定對您意味著什麼?老實說:這可能對您根本沒有太大意義。如果您使用的是現代瀏覽器(過去幾年發布的),您會發現實際上您已經使用 Selenium 3 說 W3C 協定。
那麼誰關心協定方言呢?當我們談論像 Sauce Labs 這樣提供 Selenium 作為服務的公司時,他們很關心。生態系統已準備好迎接下一步,因為這些公司的技術人員已確保他們理解並遵守 W3C 協定,而 Selenium 專案的人員也在那裡提供必要的幫助和建議。
Selenium 4 的另一個優點是,我們已盡力確保穩定的使用者介面 API。這表示當您將專案從 Selenium 3 升級到 Selenium 4 時,它應該是一個直接升級。您只需變更版本號碼,重新編譯即可完成。
但是,您應該注意一些注意事項!主要的一點是,如果在 Selenium 3 的最後一個版本中某個方法被棄用,那麼它現在可能已經消失了。我們已利用主要版本更新的機會刪除它們,並清理人們通常看不到的幕後內部結構。如果您是軟體開發人員,您可能會將其視為我們償還一些技術債務 :)
請繼續關注下一篇文章,我將介紹 Selenium 4 中的一些新技巧。
這最初發布在 https://saucelabs.com/blog/whats-coming-in-selenium-4-why-the-major-version-bump




