Selenium是一款專為Web應用程序測試而設計的工具,通過在瀏覽器中模擬用戶操作,測試應用程序的功能和兼容性。它支持多種主流瀏覽器,包括IE、Firefox、Safari、Google Chrome、Opera、Microsoft Edge等,使測試直接在瀏覽器中運行,仿佛真正的用戶在進行操作。
Selenium具有三個主要功能。首先,它執行瀏覽器兼容性測試,確保應用程序在不同瀏覽器和操作系統上表現正常。其次,通過創建回歸測試,驗證軟件功能和用戶需求,進行系統功能測試。最后,Selenium支持自動錄制用戶動作,能夠自動生成測試腳本,適用于多種編程語言,如.Net、Java、Perl等。
Selenium的使用具有多方面優勢。它能有效進行瀏覽器兼容性測試,確保應用程序跨不同環境都能正常運行。通過支持系統功能測試,幫助創建回歸測試,提高軟件質量。Selenium的跨語言支持使得測試團隊可以根據項目需求選擇適用的編程語言,增加了靈活性和可定制性。
發展歷史
Selenium 最初由 Jason Huggins 于 2004 年開發,作為思特沃克軟件技術有限公司的內部工具。Huggins 后來由 ThoughtWorks 的其他程序員和測試人員加入,之后 Paul Hammant 加入團隊并指導第二種操作模式的開發,該模式后來成為“Selenium 遠程控制”(RC)。
2005 年Dan Fabulich 和 Nelson Sproul(在 Pat Lightbody 的幫助下)提出接受一系列補丁,這些補丁將使 Selenium-RC 變得更加出名。在同一次會議上,Selenium 作為一個項目將繼續作為一個委員會進行指導,Huggins 和 Hammant 是 思特沃克軟件技術有限公司 的代表。
2007年哈金斯加入谷歌。他與 Jennifer Bevan 等人一起繼續開發和穩定 Selenium RC。與此同時ThoughtWorks 的 Simon Stewart 開發了一種名為 WebDriver 的高級瀏覽器自動化工具。
2009 年在 Google 測試自動化大會上,開發人員召開會議后,決定合并這兩個項目,并將新項目稱為 Selenium WebDriver,或 Selenium 2.0。
2008 年Philippe Hanrigou(當時在 思特沃克軟件技術有限公司)制作了“Selenium Grid”,它提供了一個中心,允許在任意數量的本地或遠程系統上同時運行多個 Selenium 測試,從而最大限度地減少測試執行時間,允許Selenium-RC針對規模龐大的測試案例集或者需要在不同環境中運行的測試案例集進行擴展。Grid 作為開源軟件為 Selenium RC 提供了與內部/私有 谷歌 云類似的功能。Pat Lightbody 已經為“HostedQA”創建了私有云,然后將其出售給 Gomez,Inc.。
Selenium 這個名字來自于 Huggins 在一封電子郵件中開的一個玩笑,嘲笑一個名叫汞的競爭對手,說通過服用硒[xī]補充劑可以治愈汞中毒。其他收到電子郵件的人記下了這個名字并用它運行。
功能與服務
框架底層使用ECMAScript模擬真實用戶對瀏覽器進行操作。測試腳本執行時,瀏覽器自動按照腳本代碼做出點擊,輸入,打開,驗證等操作,就像真實用戶所做的一樣,從終端用戶的角度測試應用程序。使瀏覽器兼容性測試自動化成為可能,盡管在不同的瀏覽器上依然有細微的差別。使用簡單,可使用Java,Python等多種語言編寫用例腳本。
據 Selenium 主頁所說,與其他測試工具相比,使用 Selenium 的最大好處是:Selenium 測試直接在瀏覽器中運行,就像真實用戶所做的一樣。Selenium 測試可以在 Windows、Linux 和 麥金塔上的 Internet Explorer、Google Chrome和 Firefox 中運行。其他測試工具都不能覆蓋如此多的平臺。使用 Selenium 和在瀏覽器中運行測試還有很多其他好處。
主要的兩大好處有:通過編寫模仿用戶操作的 Selenium 測試腳本,可以從終端用戶的角度來測試應用程序。通過在不同瀏覽器中運行測試,更容易發現瀏覽器的不兼容性。Selenium 的核心,也稱網絡瀏覽器 bot,是用 ECMAScript 編寫的。這使得測試腳本可以在受支持的瀏覽器中運行。browser bot 負責執行從測試腳本接收到的命令,測試腳本要么是用 HTML 的表布局編寫的,要么是使用一種受支持的編程語言編寫的。
Selenium 2.0適用于以下瀏覽器:
Google Chrome、Internet Explorer 7, 8, 9, 10, 11、Firefox、Safari、Opera、Edge、HtmlUnit、phantomjs、Android、iOS
Selenium 1.0適用于以下瀏覽器:
參考資料 >