Home >> Blog >> 什麼是 selenium?

什麼是 selenium?

Selenium是一個免費(開源)自動化測試框架,用於跨不同瀏覽器和平台驗證 Web 應用程序。您可以使用 Java、C#、Python 等多種編程語言來創建 Selenium 測試腳本。使用 Selenium 測試工具完成的測試通常稱為 Selenium 測試。

Selenium Software 不僅僅是一個工具,而是一套軟件,每個軟件都滿足組織的不同 Selenium QA 測試需求。這是工具列表

  • Selenium 集成開發環境 (IDE)
  • 硒遙控器 (RC)
  • 網絡驅動程序
  • 硒網格

什麼是硒?

目前,Selenium RC 和 WebDriver 合併為一個框架以形成Selenium 2。順便說一下,Selenium 1 是指 Selenium RC。

如果視頻無法訪問,請單擊此處

誰開發了硒?

由於 Selenium 是不同工具的集合,因此它也有不同的開發人員。以下是對 Selenium 項目做出顯著貢獻的關鍵人物

首先,Selenium 是由 Jason Huggins 在 2004 年創建的。作為 ThoughtWorks 的工程師,他正在開發一個需要頻繁測試的 Web 應用程序。意識到對他們的應用程序進行重複的手動測試變得越來越低效後,他創建了一個JavaScript程序,可以自動控制瀏覽器的操作。他將這個程序命名為“ JavaScriptTestRunner ”。

看到這個想法在幫助自動化其他 Web 應用程序方面的潛力,他將 JavaScriptRunner 開源,後來被重新命名為 Selenium Core。

同源政策問題

同源策略禁止 JavaScript 代碼訪問與其啟動位置不同的域中的元素。例如,www.google.com 中的 HTML 代碼使用 JavaScript 程序“randomScript.js”。同源策略僅允許 randomScript.js 訪問 google.com 內的頁面,例如 google.com/mail、google.com/login 或 google.com/signup。但是,它無法訪問來自不同站點(例如 yahoo.com/search 或 guru99.com)的頁面,因為它們屬於不同的域。

什麼是硒?

這就是為什麼在 Selenium RC 之前,測試人員需要安裝 Selenium Core(一個 JavaScript 程序)和包含正在測試的 Web 應用程序的 Web 服務器的本地副本,以便它們屬於同一個域

Selenium 遙控器(Selenium RC)的誕生

很遺憾; 由於同源策略的限制,使用 Selenium Core 的測試人員必須在他們自己的本地計算機上安裝整個被測應用程序和 Web 服務器。因此,ThoughtWork 的另一位工程師Paul Hammant決定創建一個充當 HTTP 代理的服務器,以“誘騙”瀏覽器相信 Selenium Core 和正在測試的 Web 應用程序來自同一個域。該系統被稱為Selenium Remote Control或Selenium 1。

Selenium Grid 的誕生

Selenium Grid 由Patrick Lightbody開發,旨在解決盡可能減少測試執行時間的需求。他最初將該系統稱為“託管 QA ”。它能夠在重要階段捕獲瀏覽器屏幕截圖,還能夠同時向不同機器發送 Selenium 命令。

Selenium IDE 的誕生

日本的Shinya Kasatani創建了Selenium IDE,這是一個 Firefox 擴展,可以通過記錄和播放功能自動化瀏覽器。他提出了這個想法,以進一步提高創建測試用例的速度。2006 年,他將 Selenium IDE 捐贈給了 Selenium 項目。

WebDriver的誕生

西蒙斯圖爾特 大約在2006 年創建了 WebDriver ,當時瀏覽器和 Web 應用程序變得更加強大,並且對 JavaScript 程序(如 Selenium Core)的限制也越來越多。 它是第一個可以從操作系統級別控制瀏覽器的跨平台測試框架。

硒的誕生 2

2008年,整個 Selenium 團隊決定將 WebDriver 和 Selenium RC 合併,形成一個更強大的工具,稱為Selenium 2,以WebDriver 為核心。目前,Selenium RC 仍在開發中,但僅處於維護模式。Selenium 項目的大部分工作現在都集中在 Selenium 2 上。

那麼,為什麼叫 Selenium?

Selenium 這個名字來自 Jason 曾經對他的團隊講過的一個笑話。在 Selenium 的開發過程中,另一個很流行的自動化測試框架是由Mercury Interactive公司(是的,在被 HP 收購之前最初開發 QTP 的公司)製作的。由於硒是水銀中毒的著名解毒劑,傑森建議使用這個名字,他的隊友們也接受了它。所以這就是我們如何稱呼這個框架到現在。

什麼是硒?

簡介 Selenium IDE

Selenium 集成開發環境 (IDE) 是Selenium 套件中最簡單的框架,也是最容易學習的框架。它是一個Firefox 插件,您可以像使用其他插件一樣輕鬆安裝它。但是,由於其簡單性,Selenium IDE 只能用作原型設計工具。如果要創建更高級的測試用例,則需要使用 Selenium RC 或 WebDriver。

什麼是硒?

簡介 Selenium 遙控器(Selenium RC)

Selenium RC 長期以來一直是整個 Selenium 項目的旗艦測試框架。這是第一個允許用戶使用他們喜歡的編程語言的自動化Web 測試工具。從 2.25.0 版本開始,RC 可以支持以下編程語言:

  • 爪哇
  • C#
  • PHP
  • Python
  • Perl
  • 紅寶石

什麼是硒?

簡介 WebDriver

WebDriver 證明自己在許多方面都優於 Selenium IDE 和 Selenium RC。它實現了一種更現代、更穩定的方法來自動化瀏覽器的操作。與 Selenium RC 不同,WebDriver 不依賴 JavaScript 進行 Selenium 自動化測試。它通過直接與瀏覽器通信來控制瀏覽器。

支持的語言與 Selenium RC 中的語言相同。

  • 爪哇
  • C#
  • PHP
  • Python
  • Perl
  • 紅寶石

什麼是硒?

硒網格

Selenium Grid 是一個與 Selenium RC 一起使用的工具,可以同時在不同的機器和不同的瀏覽器上運行並行測試。並行執行意味著一次運行多個測試。

特徵:

  • 允許在多個瀏覽器和環境中同時運行測試。
  • 極大地節省時間 。
  • 利用集線器和節點的概念。集線器充當連接到它的每個節點的 Selenium 命令的中央源。

關於瀏覽器和環境支持的說明

由於它們的架構差異,Selenium IDE、Selenium RC 和 WebDriver 支持不同的瀏覽器集和操作環境。

什麼是硒?

操作系統 視窗、Mac OS X、Linux 上述瀏覽器可以運行的所有操作系統。

注意: Selenium WebDriver 被稱為 Selenium RC 的繼承者,已被 SeleniumHQ 棄用並正式宣布。

如何根據您的需要選擇合適的 Selenium 工具

什麼是硒?

什麼是硒?

Selenium 與 QTP(現為 UFT)的比較

Quick Test Professional (QTP)是一種專有的自動化測試工具,在 2006 年被惠普收購之前由Mercury Interactive公司擁有。與 QTP 相比,Selenium 工具套件有許多優勢,詳情如下 -

Selenium 相對於 QTP 的優勢和好處

什麼是硒?

QTP 相對於 Selenium 的優勢

QTP 相對於 Selenium 的優勢

什麼是硒?

雖然很明顯,QTP具有更高級的功能,但 Selenium 在三個主要方面勝過 QTP:

  • 成本(因為 Selenium 完全免費)
  • 靈活性(因為它可以支持多種編程語言、瀏覽器和平台)
  • 並行測試(QTP 能夠,但只能使用 Quality Center)

概括

.整個 Selenium 軟件測試套件由四個組件組成:

  • Selenium IDE,一個 Firefox 插件,只能用於創建相對簡單的測試用例和測試套件。
  • Selenium Remote Control,也稱為 Selenium 1,它是第一個允許用戶使用編程語言創建複雜測試的 Selenium 工具。
  • WebDriver,新的突破,允許您的測試腳本直接與瀏覽器通信,從而從操作系統級別控制它。
  • Selenium Grid 也是一個與 Selenium RC 一起使用的工具,用於跨不同的瀏覽器和操作系統執行並行測試。

.Selenium RC 和 WebDriver 合併形成 Selenium 2。

.Selenium 在成本和靈活性方面比 QTP 更有優勢。它還允許您並行運行測試,這與 QTP 中僅允許您按順序運行測試不同。

find

selenium webdriver

driver

to

selenium import webdriver

webdriver from selenium

selenium webdriver

selenium webdriver

driver

driver

driver

driver

driver

driver

driver

driver

driver

driver

driver

driver

driver

driver

driver

driver

to

to

to

to

to

to

to

to

to

to

to

to

to

to

to

to

to

to

to

to

element

element

element

element

element

element

element

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele

ele