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