<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 什么是硒? 硒自動化測試簡介 > 原文: [https://www.guru99.com/introduction-to-selenium.html](https://www.guru99.com/introduction-to-selenium.html) ## 什么是硒? **SELENIUM** 是一個免費的(開放源代碼)自動化測試框架,用于驗證跨不同瀏覽器和平臺的 Web 應用程序。 您可以使用 Java,C#,Python 等多種編程語言來創建 Selenium 測試腳本。 使用 Selenium 工具完成的測試通常稱為 Selenium Testing。 Selenium Software 不僅是一個工具,而且是一套軟件,每個軟件都可以滿足組織的不同測試需求。 這是工具列表 * 硒綜合開發環境(IDE) * 硒遙控器(RC) * 網絡驅動器 * 硒網格 <center>![Introduction to Selenium](https://img.kancloud.cn/a2/dc/a2dcfa32ecfb9085a1df452d085a339f_586x436.png "Introduction to Selenium")</center> 目前,Selenium RC 和 WebDriver 合并為一個框架,以形成 **Selenium 2** 。 順便說一句,硒 1 是指硒 RC。 <center>**What You Will Learn:** []</center> * [什么是硒?](#1) * [誰開發了硒?](#2) * [同一起源策略問題](#3) * [硒遙控器(Selenium RC)的誕生](#4) * [硒網格的誕生](#5) * [Selenium IDE 的誕生](#6) * [WebDriver 的誕生](#7) * [硒 2 的誕生](#8) * [那么,為什么要命名硒?](#9) * [簡介 Selenium IDE](#10) * [簡介硒遙控器(Selenium RC)](#11) * [簡介 WebDriver](#12) * [硒網格](#13) * [關于瀏覽器和環境支持的說明](#14) * [如何根據需要選擇合適的硒工具](#15) * [硒和 QTP(現為 UFT)之間的比較](#16) * [QTP 優于硒](#17) ## 誰開發了硒? 由于 Selenium 是不同工具的集合,因此它也有不同的開發人員。 以下是為硒項目做出杰出貢獻的關鍵人物 | ![Introduction to Selenium](https://img.kancloud.cn/78/3e/783e133bd1cea8cce1948238adfef8d0_350x194.png "Introduction to Selenium") | 最初,硒是 Jason Huggins 在 2004 年創建的。 他是 ThoughtWorks 的工程師,當時正在研究需要經常測試的 Web 應用程序。 他意識到應用程序的重復[手動測試](/manual-testing.html)效率越來越低,因此,他創建了一個 [JavaScript](/interactive-javascript-tutorials.html) 程序,該程序可以自動控制瀏覽器的操作。 他將該程序命名為“ **JavaScriptTestRunner** ”。看到這個想法有助于自動化其他 Web 應用程序的潛力,他使 JavaScriptRunner 開源,之后將其更名為 **Selenium Core** 。 | ## 同源政策問題 **Same Origin 策略禁止 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)的頁面,因為它們屬于不同的域。 ![Introduction to Selenium](https://img.kancloud.cn/db/c0/dbc0fee64a094d96cef8b04d04c1a6a3_636x459.png "Introduction to Selenium") 這就是為什么在 Selenium RC 之前,測試人員需要安裝 Selenium Core(JavaScript 程序)和包含要測試的 Web 應用程序的 Web 服務器的本地副本,以便它們屬于同一個域的原因。 ## 硒遙控器(Selenium RC)的誕生 ![Introduction to Selenium](https://img.kancloud.cn/ab/05/ab054605a4618f8c092d72dbfae56d70_100x114.png "Introduction to Selenium").png) 不幸; 由于**相同來源策略施加的限制,使用 Selenium Core 的測試人員必須將整個測試應用程序和 Web 服務器安裝在其自己的本地計算機上。** 因此,另一位 ThoughtWork 的工程師 **Paul Hammant** 決定創建一個服務器,該服務器將充當 HTTP 代理,以“欺騙”瀏覽器,使他們相信 Selenium Core 和被測試的 Web 應用程序來自同一個 域。 該系統被稱為 **Selenium Remote Control** 或 **Selenium 1** 。 ## 硒網格的誕生 ![Introduction to Selenium](https://img.kancloud.cn/a7/ab/a7abdf9ae872ce8a770d6a417b3eacb3_100x107.png "Introduction to Selenium").jpg) Selenium Grid 由 **Patrick Lightbody** 開發,旨在滿足盡可能減少測試執行時間的需求。 他最初將系統稱為“ **托管質量檢查**”。 它能夠捕獲重要階段的瀏覽器屏幕截圖,并且能夠**同時將 Selenium 命令發送到不同的計算機。** ## Selenium IDE 的誕生 **![Introduction to Selenium](https://img.kancloud.cn/fd/9d/fd9d0c5e3000d99d77ccb4a7ecce6ae3_202x100.png "Introduction to Selenium").jpg)** **日本的 Shinya Kasatani** 創建了 **Selenium IDE** ,這是一個 Firefox 擴展,可以通過記錄和回放功能使瀏覽器自動化。 他提出了這個想法,以進一步提高創建測試用例的速度。 他在 **2006** 中向 Selenium 項目捐贈了 Selenium IDE。 ## WebDriver 的誕生 **[![Introduction to Selenium](https://img.kancloud.cn/26/48/26485db7749c9ecb26c9b6a25565081d_124x150.png "Introduction to Selenium") ](/images/simon_stewart_final(1).jpg) ** **Simon Stewart** 大約在 **2006** 時創建了 WebDriver,當時瀏覽器和 Web 應用程序對 Selenium 等 JavaScript 程序的功能和限制越來越強大 核心。 **這是第一個可以從操作系統級別控制瀏覽器的跨平臺測試框架。** ## 硒 2 的誕生 In **2008**, the whole Selenium Team decided to merge WebDriver and Selenium RC to form a more powerful tool?called **Selenium 2**, with **WebDriver being the core**. Currently, Selenium RC is still being developed but only in maintenance mode. Most of the Selenium Project's efforts are now focused on Selenium 2. ## 那么,為什么叫硒? 這是 Jason 向他的團隊開出的一個笑話。 在 Selenium 的開發過程中,另一個自動化測試框架很流行,該公司稱為 **Mercury Interactive** (是的,在被 HP 收購之前,它最初是制造 QTP 的公司)。 由于硒是汞中毒的著名解毒劑,因此杰森建議使用該名稱。 他的隊友接受了這一框架,這就是我們迄今為止如何稱呼該框架的方式。 ![Introduction to Selenium](https://img.kancloud.cn/6d/f1/6df15dc20782fbe3dab0ce55862382a1_438x346.png "Introduction to Selenium") ## 簡介 Selenium IDE Selenium 集成開發環境(IDE)是 Selenium 套件中最簡單的**框架**,也是**最容易學習的框架**。 這是一個 **Firefox 插件**,與其他插件一樣,您可以輕松安裝。 但是,由于其簡單性,Selenium IDE 僅應用作**原型開發工具**。 如果要創建更多高級測試用例,則需要使用 Selenium RC 或 WebDriver。 ![Introduction to Selenium](https://img.kancloud.cn/6c/c5/6cc5089d88550bed6eefbb77b835219e_650x364.png "Introduction to Selenium") ## 簡介硒遙控器(Selenium RC) Selenium RC 長期以來一直是整個 Selenium 項目的**旗艦測試框架**。 這是**允許用戶使用他們喜歡的編程語言**的第一個自動化 Web 測試工具。 從 2.25.0 版開始,RC 可支持以下編程語言: * [Java](/java-tutorial.html) * [C#](/c-sharp-tutorial.html) * [PHP](/php-tutorials.html) * 蟒蛇 * 佩爾 * 紅寶石 ![Introduction to Selenium](https://img.kancloud.cn/3d/85/3d8596121e4a537b2909e4403b9120e4_549x612.png "Introduction to Selenium") ## 簡介 WebDriver WebDriver 在許多方面證明自己比 Selenium IDE 和 Selenium RC 更好**。 它實現了一種更現代,更穩定的方法來自動化瀏覽器的動作。 WebDriver 與 Selenium RC 不同,它不依賴 JavaScript 實現自動化。 **它通過直接與瀏覽器通信來控制瀏覽器。**** 支持的語言與 Selenium RC 中的語言相同。 * 爪哇 * C# * 的 PHP * 蟒蛇 * 佩爾 * 紅寶石 ![Introduction to Selenium](https://img.kancloud.cn/74/c2/74c2c08ff41c23ff1db148025cde41d1_520x356.png "Introduction to Selenium") ## 硒網格 Selenium Grid 是與 Selenium RC 一起使用的工具**,可同時在不同的機器和不同的瀏覽器上運行并行測試**。 并行執行意味著一次運行多個測試。 **功能:** * 在**多個瀏覽器和環境中啟用**同時運行測試**。** * **極大地節省了時間**。 * 利用**集線器和節點**概念。 集線器充當與它連接的每個節點的 Selenium 命令的中央源。 ## 關于瀏覽器和環境支持的說明 由于它們的體系結構差異,Selenium IDE,Selenium RC 和 WebDriver 支持不同的瀏覽器和操作環境集。 | | 硒 IDE | WebDriver | | --- | --- | --- | | **瀏覽器** **支持** | Mozilla Firefox | Internet Explorer 6 至 11 版本,包括 32 位和 64 位 上面的 Microsoft Edge 版本 12.10240 &(部分支持正在開發的某些功能) Firefox 3.0 及更高版本 Google Chrome 12.0。 及更高版本 Opera 11.5 及更高版本 Android-2.3 及更高版本,適用于手機和平板電腦 (設備&仿真器)[ 適用于手機(設備&仿真器)和平板電腦(設備&仿真器)的 HTG20] iOS 3+ HtmlUnit 2.9 和 以上 | | **操作系統** | Windows, Mac OS X, Linux [ | 上面的瀏覽器可以在其中運行的所有操作系統。 | **注意:** Selenium WebDriver 被稱為 Selenium RC 的后繼產品,SeleniumHQ 正式宣布不推薦使用&。 ## 如何根據需要選擇合適的硒工具 | <center>工具</center> | <center>為什么選擇?</center> | | --- | --- | | **硒 IDE** | * 了解有關自動化測試和 Selenium 的概念,包括: * Selenese 命令,例如 type,open,clickAndWait,assert,verify 等。 * 定位器(例如 id) ,名稱,xpath,css 選擇器等。 * 使用 runScript * 執行定制的 JavaScript 代碼,以各種格式導出測試用例。 * 創建很少或沒有編程知識的測試。 * 創建簡單的測試用例和測試套件,以后可以將其導出到 RC 或 WebDriver。 * 僅針對 Firefox 和 Chrome 測試 Web 應用程序。 | | **硒 RC** | * 使用比 Selenese * 更具表現力的語言設計測試,以便在不同操作系統上的不同瀏覽器(HtmlUnit 除外)上運行測試。 * 使用 Selenium Grid 在多個環境中部署測試。 * 針對支持 JavaScript 的新瀏覽器測試您的應用程序。 * 使用基于 AJAX 的復雜方案測試 Web 應用程序。 | | **WebDriver** | * 在設計測試用例時使用某種編程語言。 * 測試基于 AJAX 的功能豐富的應用程序。 * 在 HtmlUnit 瀏覽器上執行測試。 * 創建定制的測試結果。 | | **硒網格** | * 在多個瀏覽器和操作系統中同時運行 Selenium RC 腳本。 * 要運行一個龐大的測試套件,需要盡快完成。 | ## 硒和 QTP(現為 UFT)之間的比較 **快速測試專家(QTP)**是先前由公司 **Mercury Interactive** 擁有的專有自動化測試工具,在 2006 年被[Hewlett-Packard]收購**之前**。 Selenium 工具套件具有優于 QTP 的許多優點,如下所述- 硒優于 QTP 的優勢 | <center>**硒**</center> | <center>**QTP**</center> | | **開源**,**免費使用**和**。** | **商業**。 | | **高度可擴展** | 有限的附加組件 | | 可以在**不同的瀏覽器** 上運行測試 | 僅可以在 **Firefox** , **Internet Explorer** 和 **Chrome** 中運行測試 | | 支持**各種操作系統** | 只能在 **Windows** 中使用 | | 支持**移動設備** | QTP 使用稱為 HP 的 HP 解決方案支持移動應用程序測試自動化(iOS & Android)-HP Mobile Center | | 可以在最小化**瀏覽器的**的同時執行測試 | 需要測試的應用程序在桌面上可見 | | 可以并行執行的測試。 | 只能并行執行,但必須使用再次作為付費產品的 Quality Center。 | ## QTP 優于硒的優勢 <caption>Advantages of QTP over Selenium</caption> | <center>**QTP**</center> | <center>**硒**</center> | | 可以同時測試 **Web 和桌面應用程序** | 僅可以測試 Web 應用程序 | | 帶有**內置對象存儲庫** | 沒有內置的對象存儲庫 | | **比 Selenium** 自動化更快,因為它是功能齊全的 IDE。 | 由于沒有本地 IDE,并且只能使用第三方 IDE 進行開發,因此自動化速度較慢 | | 數據驅動的測試更易于執行,因為**具有內置的全局和本地數據表**。 | 數據驅動的測試更加麻煩,因為您必須依靠編程語言的功能來設置測試數據的值 | | **可以訪問瀏覽器**中的控件(例如收藏夾欄,地址欄,后退和前進按鈕等) | 無法訪問被測 Web 應用程序之外的元素 | | 提供專業的**客戶支持** | 沒有提供官方用戶支持。 | | 具有**固有功能,可將測試數據**導出為外部格式 | 沒有本機功能將運行時數據導出為外部格式 | | 內置參數化支持 | 參數化可以通過編程來完成,但是很難實現。 | | 測試報告是自動生成的 | 沒有本機支持來生成測試/錯誤報告。 | 盡管很明顯, [QTP](/quick-test-professional-qtp-tutorial.html) 具有更先進的功能,但硒在三個主要方面超過了 QTP: * **費用**(因為硒是完全免費的) * **靈活性**(由于它可以支持多種編程語言,瀏覽器和平臺) * **并行測試**(QTP 可以但僅在使用 Quality Center 時才能使用) ## 摘要 * 整個 Selenium 工具套件包含四個組件: * **Selenium IDE** ,這是一個 Firefox 加載項,只能用于創建相對簡單的測試用例和測試套件。 * **Selenium 遠程控制**,也稱為 **Selenium 1** ,這是第一個允許用戶使用編程語言創建復雜測試的 Selenium 工具。 * **WebDriver** 是一種較新的突破,它允許您的測試腳本直接與瀏覽器進行通信,從而從操作系統級別對其進行控制。 * **Selenium Grid** 還是與 Selenium RC 一起使用的工具,可在不同的瀏覽器和操作系統上執行并行測試。 * Selenium RC 和 WebDriver 合并形成 **Selenium 2** 。 * 就**成本和靈活性**而言,硒比 QTP 更具優勢。 它也允許您**并行運行**,這與 QTP 中只允許按順序運行測試不同。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看