selenium 4_Selenium4 Alpha –期望什么?
selenium 4
Selenium4 Alpha-期望什么?
早在2018年8月,整個測試自動化社區就受到了一個重大新聞的打擊:Selenium的創始成員Simon Stewart在班加羅爾Selenium會議上正式確認了Selenium 4的發布日期和一些重大更新。 世界最受歡迎的Web測試自動化框架的4.0版本計劃于2018年圣誕節之前發布。
稍有延遲,Selenium 4.0 Alpha版本發布了,可以從Selenium官方網站下載javascript。 讓我們回顧一下Selenium會議上宣布的功能以及此版本中提供的一些改進和附加功能。
為什么Selenium4.0很重要
如果您認為測試自動化工程師是世界上唯一應該關注Selenium重大更新的人員,那么您是錯的。
當然,Selenium已成為實現自定義自動測試的行業標準,并且被認為是每個Web應用程序的首選解決方案,而這些應用程序已經擺脫了手動測試可以解決大多數問題的方法。
但是經常被遺忘的是,嚴重依賴Selenium的企業不僅是擁有自動化QA工程師團隊的企業,而且是集成了基于Selenium的無代碼自動化測試工具的企業。
基于Selenium的無代碼測試已成為意識到自動化的重要性但沒有內部質量保證專家能夠實現自動化的每個企業的真正救星。 這樣的工具不僅使對Web瀏覽器有基本了解的任何人都可以進行部署,而且還使運行回歸測試,進行綜合監視和負載測試成為可能,而無需任何Selenium框架知識。
此類無代碼自動化軟件的完美示例是CloudQA 。 在Selenium之上,我們開發了一種工具,該工具需要團隊的零努力,與第三方應用程序的集成,比以往任何時候都更容易構建測試用例,24/7來監控您的網頁性能,并且成本比租用一個初級手動測試儀。
如果您想更多地了解基于Selenium的無代碼自動化工具的優勢,請獲取免費演示 。
Selenium4的重大變化
讓我們來看看Selenium 4.0 Alpha版本的主要變化-
W3C WebDriver標準化
首先,Selenium 4 WebDriver是完全W3C標準化的。 WebDriver API在Selenium之外已經變得越來越重要,并且已在多種自動化工具中使用。 例如,諸如Appium和iOS驅動程序之類的移動測試工具在很大程度上依賴于它。 W3C標準還將鼓勵WebDriver API的不同軟件實現之間的兼容性。
這是Selenium Grid與早期版本中的Driver可執行文件進行通信的方式:
Selenium 3.x中的測試通過本地端的JSON協議與End節點的瀏覽器進行通信。 這種方法需要對API進行編碼和解碼。
隨著我們期望在Selenium 4中看到的更新,該測試將直接進行通信,而無需通過W3C協議對API請求進行任何編碼和解碼。 盡管JAVA綁定將向后兼容,但重點將更多地放在W3C協議上。 JSON有線協議將不再使用。
W3C WebDriver規范有多個貢獻者,整個過程可以在GitHub上看到。
Selenium4 IDE TNG
Chrome的Selenium IDE支持現已可用。 您可以從以下網址下載-https : //selenium.dev/selenium-ide/
眾所周知,Selenium IDE是一種記錄和回放工具。 現在它將具有以下更加豐富和高級的功能:
- 新的插件系統。 現在,任何瀏覽器供應商都可以輕松插入新的Selenium IDE。 您將能夠擁有自己的定位器策略和Selenium IDE插件。
- 新的CLI運行器。 它將完全基于NodeJS,而不是基于HTML的舊運行器,并將具有以下功能:
- WebDriver播放。
改進的Selenium網格
與Selenium Grid合作過的任何人都知道設置和配置有多困難。 Selenium Grid支持在具有并行執行功能的不同瀏覽器,操作系統和機器上執行測試用例。
Selenium Grid有兩個主要元素:集線器和節點。
集線器充當服務器,是控制網絡中所有測試機的中心點。 在Selenium Grid中,只有一個中心根據功能匹配將測試執行分配給特定節點。
簡而言之,Node是實際運行測試用例的測試機器。
有關Selenium Grid的更多詳細信息,建議閱讀有關Selenium Grid的完整官方教程 。
到目前為止,Selenium Grid的設置過程通常會導致測試人員難以將連接節點連接到集線器。
在Selenium 4中,由于不再需要分別設置和啟動集線器和節點,因此網格體驗變得輕松便捷。 啟動Selenium服務器后,網格將同時充當集線器和節點。
Selenium提供三種類型的網格-
新的Selenium服務器jar包含運行網格所需的所有內容。 它具有所有依賴性。 新的網格還帶有Docker支持。 目前,docker集成不使用UNIX域套接字,因此請確保docker守護進程正在偵聽端口2375。
有關更多詳細信息,請參閱-https ://github.com/SeleniumHQ/selenium/wiki/Selenium-Grid-4
更好的可觀察性
“被動可觀察性是進行描述性追蹤的能力。”
–西蒙·斯圖爾特
現在,可觀察性,日志記錄和調試不再局限于DevOps。 作為即將發布的版本的一部分,將改進帶有鉤子的請求跟蹤和日志記錄,以使自動化工程師可以進行調試。
刷新文檔
文檔在任何項目的成功中都起著關鍵作用。 自Selenium 2.0發行以來,Selenium文檔尚未更新。 這意味著,過去幾年中嘗試學習Selenium的任何人都必須使用舊的教程。
因此,自然而然地,SeleniumHQ承諾將與4.0版本一起提供給我們的最新文檔已經成為測試自動化社區中最受期待的Selenium更新之一。
Selenium 4.0 Alpha版本的改進-
ChromiumDriver和DevTools:
在Selenium 3中,EdgeDriver和ChromeDriver具有從RemoteWebDriver類繼承的自己的實現。 在Selenium 4中,Chromedriver和EdgeDriver繼承自ChromiumDriver。 ChromiumDriver類具有訪問開發工具的預定義方法。 考慮下面的代碼片段-
上面的代碼創建到給定URL的會話,并執行javascript打印消息。 DevTools是一個類,具有用于獲取開發人員選項的方法的類。
DevTools也可以用于性能評估并獲取頁面加載時間。
更好的窗口和標簽管理
Selenium 4現在具有可以同時在兩個不同的窗口上工作的功能。 當我們要導航到新窗口(或選項卡)并在那里打開其他URL并執行某些操作時,此功能特別有用。
newWindow()方法根據其參數中指定的WindowType打開一個新窗口或選項卡。
相對定位器
在Selenium 4 alpha版本中,我們還可以獲得相對于任何其他定位器的定位器。
- toLeftOf():位于指定元素左側的元素。
- toRightOf():位于指定元素右側的元素。
- above():相對于指定元素位于上方的元素。
- below():相對于指定元素位于下方的元素。
- near():元素距離指定元素最多50個像素。 像素值可以修改。
全屏快照
現在,我們可以在Firefox中使用getFullPageScreenshotAs()方法獲取完整的屏幕截圖。 但是,我們無需將其類型轉換為“ TakesScreenshot”界面,而是需要將其類型轉換為FirefoxDriver實例。
文件src =((FirefoxDriver)驅動程序).getFullPageScreenshotAs(OutputType.FILE);
可能會有一些更有趣的功能和改進,因此繼續探索!
翻譯自: https://www.javacodegeeks.com/2019/12/selenium-4-alpha-what-to-expect.html
selenium 4
總結
以上是生活随笔為你收集整理的selenium 4_Selenium4 Alpha –期望什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 凶猛的英语怎么说 凶猛翻译成英语
- 下一篇: camel apache_Apache