国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

什么是Selenium?使用Selenium進(jìn)行自動(dòng)化測(cè)試

2021-04-22 14:51 作者:信碼由韁  | 我要投稿

【注】本文譯自:
https://www.edureka.co/blog/what-is-selenium/

你知道什么是?Selenium 嗎?你知道為什么要使用它嗎?答案就在本文中,很高興能夠與你共飧。

自動(dòng)化測(cè)試正席卷全球,Selenium 認(rèn)證是業(yè)界最搶手的技能之一。

什么是 Selenium?

Selenium 是一種開(kāi)源工具,用于在 Web 瀏覽器上執(zhí)行自動(dòng)化測(cè)試(使用任何 Web 瀏覽器進(jìn)行?Web 應(yīng)用程序測(cè)試)。

等等,先別激動(dòng),讓我再次重申一下,Selenium 僅可以測(cè)試Web應(yīng)用程序。我們既不能使用 Selenium 測(cè)試任何桌面(軟件)應(yīng)用程序,也不能測(cè)試任何移動(dòng)應(yīng)用程序。

這很糟糕,對(duì)吧?我能感覺(jué)到你的痛苦。但請(qǐng)放心,有許多工具可以測(cè)試桌面軟件和移動(dòng)應(yīng)用程序,例如:IBM 的 RFT,HP 的 QPT,Appium 等。但是,本文的重點(diǎn)是測(cè)試動(dòng)態(tài) Web 應(yīng)用程序,以及為什么 Selenium 在這方面是最好的。

Selenium 的優(yōu)勢(shì)是什么?

由于 Selenium 是開(kāi)源的,因此不涉及許可費(fèi)用,這是與其他測(cè)試工具相比的主要優(yōu)勢(shì)。Selenium 日益流行的其他原因是:


  • 測(cè)試腳本可以用以下任何一種編程語(yǔ)言編寫(xiě):JavaPython、C#、PHP、RubyPerl?和?.Net

  • 可以在以下任何操作系統(tǒng)中進(jìn)行測(cè)試:Windows、Mac?或?Linux

  • 可以使用任何瀏覽器進(jìn)行測(cè)試:Mozilla FirefoxInternet Explorer、Google ChromeSafari?或?Opera

  • 可以與?TestNG?和?JUnit?等工具集成,以管理測(cè)試用例和生成報(bào)告

  • 可以與?MavenJenkins?和?Docker?集成以實(shí)現(xiàn)持續(xù)測(cè)試

但總有缺點(diǎn)吧?

  • 我們只能使用 Selenium 來(lái)測(cè)試 Web 應(yīng)用程序。我們無(wú)法測(cè)試桌面應(yīng)用程序或任何其他軟件

  • 沒(méi)有針對(duì) Selenium 的保證支持。我們需要利用現(xiàn)有的客戶(hù)社區(qū)

  • 無(wú)法對(duì)圖像進(jìn)行測(cè)試。我們需要將 Selenium 與 Sikuli 集成以進(jìn)行基于圖像的測(cè)試

  • 沒(méi)有本機(jī)報(bào)告工具。但是我們可以通過(guò)將其與 TestNG 或 JUnit 之類(lèi)的框架集成來(lái)解決該問(wèn)題

首先,讓我們了解 Selenium 是如何發(fā)展到今天的。所以,讓我們按以下順序來(lái)講解:

  1. 軟件測(cè)試的訴求

  2. 手工測(cè)試的挑戰(zhàn)

  3. 自動(dòng)化測(cè)試如何勝過(guò)手動(dòng)測(cè)試?

  4. Selenium 與其他測(cè)試工具的對(duì)比?

  5. Selenium 套件工具

軟件測(cè)試的需要

一切都?xì)w結(jié)為軟件測(cè)試。當(dāng)今的技術(shù)世界完全由機(jī)器控制,它們的行為被驅(qū)動(dòng)它的軟件年控制。這些機(jī)器會(huì)完全按照我們希望的那樣運(yùn)行嗎?每一次、任何場(chǎng)合都符合預(yù)期嗎?這些問(wèn)題的答案在于軟件測(cè)試。

歸根結(jié)底,軟件應(yīng)用程序的成功率將控制你的業(yè)務(wù)增長(zhǎng)。即使對(duì)于 Web 應(yīng)用程序,也可以說(shuō)同樣的話(huà),因?yàn)楫?dāng)今大多數(shù)企業(yè)都完全依賴(lài) Internet。

以任何一家電子商務(wù)公司為例。無(wú)論是 Amazon 還是 E-Bay 或 Flipkart,他們都依賴(lài)其網(wǎng)站上的客戶(hù)流量以及基于 Web 的移動(dòng)應(yīng)用程序上的業(yè)務(wù)流量。

想象一下,如果發(fā)生災(zāi)難性事件,例如將許多產(chǎn)品的價(jià)格限制在 10 美元以?xún)?nèi),這都是由于代碼“不那么容易理解”部分中的一個(gè)小錯(cuò)誤所致。那該怎么辦,我們下次如何預(yù)防呢?

部署之前測(cè)試代碼,對(duì)嗎? 所以,這就是軟件測(cè)試的需要。但是,Selenium 是什么?它是軟件測(cè)試工具嗎?好吧,Selenium 是一種自動(dòng)化測(cè)試工具!

進(jìn)一步之前,請(qǐng)讓我澄清一下,軟件測(cè)試有兩種類(lèi)型:手動(dòng)測(cè)試和自動(dòng)化測(cè)試。Selenium 作為一種自動(dòng)化測(cè)試工具被創(chuàng)建,旨在克服手動(dòng)測(cè)試的弊端/局限性。因此,接下來(lái),讓我們了解手動(dòng)測(cè)試的挑戰(zhàn)。

手動(dòng)測(cè)試的挑戰(zhàn)

手動(dòng)測(cè)試是指 QA 測(cè)試人員手動(dòng)測(cè)試(Web)應(yīng)用程序。需要在每個(gè)環(huán)境中使用不同的數(shù)據(jù)集手動(dòng)執(zhí)行測(cè)試,并且應(yīng)記錄每個(gè)事務(wù)的成功/失敗率。


看看上圖中這個(gè)糟糕的小伙子,他要手動(dòng)驗(yàn)證記錄的交易。他正面臨的挑戰(zhàn)會(huì)導(dǎo)致疲勞、無(wú)聊、工作延遲、錯(cuò)誤和失誤(由于手動(dòng)操作)。這導(dǎo)致了 Selenium(自動(dòng)化測(cè)試工具)的發(fā)明。

自動(dòng)化測(cè)試勝過(guò)手動(dòng)測(cè)試

每次自動(dòng)化測(cè)試都勝過(guò)手動(dòng)測(cè)試。為什么?因?yàn)樗俣雀?,需要的人力資源投資較少,所以不容易出錯(cuò),可以頻繁執(zhí)行測(cè)試,支持無(wú)人值守執(zhí)行,支持回歸測(cè)試以及功能測(cè)試。

讓我們舉一個(gè)與前面提到的類(lèi)似的例子。假設(shè)有一個(gè)登錄頁(yè)面,我們需要驗(yàn)證所有的登錄嘗試是否成功,那么很容易編寫(xiě)一段代碼來(lái)驗(yàn)證所有的事務(wù)/登錄嘗試是否成功(自動(dòng)測(cè)試用例執(zhí)行)。

此外,可以以在不同環(huán)境和 Web 瀏覽器中對(duì)它們進(jìn)行測(cè)試的方式配置這些測(cè)試。我們還能做些什么?您可以通過(guò)安排一天中的特定時(shí)間來(lái)自動(dòng)生成結(jié)果文件。然后,您還可以根據(jù)這些結(jié)果自動(dòng)生成報(bào)告。

關(guān)鍵是自動(dòng)化測(cè)試使測(cè)試人員的工作變得更加簡(jiǎn)單。如下圖所示,顯示了一個(gè)更寬松的環(huán)境,同樣的測(cè)試人員正在工作。


現(xiàn)在,讓我特別談?wù)?Selenium。

現(xiàn)在讓我們看看 Selenium 在市場(chǎng)上的地位。

Selenium 對(duì)比 QTP 和 RFT

我在下表中將其性能與其他兩個(gè)流行工具進(jìn)行了比較:QTP和RFT。

從上表可以很清楚地看出 Selenium 是最受青睞的工具。但是 Selenium 中有很多不同的風(fēng)格,您應(yīng)該知道哪種 Selenium 工具最適合你的需要。

Selenium 工具套件

  • Selenium RC (現(xiàn)在已廢棄)

  • Selenium IDE

  • Selenium Grid

  • Selenium WebDriver

Selenium 有哪些組件?

下面我詳細(xì)解釋了 Selenium 的各個(gè)組成:

Selenium RC (遠(yuǎn)程控制)

在談?wù)?Selenium RC 的細(xì)節(jié)之前,我想回過(guò)頭來(lái)談?wù)?Selenium 項(xiàng)目中的第一個(gè)工具。Selenium Core 是第一個(gè)工具。但是,由于采用了同源策略,Selenium Core 在跨域測(cè)試方面遇到了障礙。同源策略禁止 JavaScript 代碼訪(fǎng)問(wèn)與啟動(dòng) JavaScript 的位置不同的域上托管的 Web 元素。

為了克服同源策略問(wèn)題,測(cè)試人員需要安裝 Selenium Core(JavaScript程序)和包含要測(cè)試的 Web 應(yīng)用程序的 Web 服務(wù)器的本地副本,以便它們屬于同一域。這導(dǎo)致了 Selenium RC 的誕生,這是當(dāng)時(shí) ThoughtWork 的工程師?Paul Hammant?認(rèn)可的。

RC 通過(guò)使用 HTTP 代理服務(wù)器來(lái)“欺騙”瀏覽器,使其相信 Selenium Core 和被測(cè)試的 Web 應(yīng)用程序來(lái)自同一域,從而解決了該問(wèn)題。因此,使 RC 成為雙組件工具。

  1. Selenium RC 服務(wù)器

  2. Selenium RC 客戶(hù)端?–?包含編程語(yǔ)言代碼的庫(kù)

RC Server 使用簡(jiǎn)單的 HTTP GET / POST 請(qǐng)求進(jìn)行通信。查看下圖以了解 RC 架構(gòu)。


Selenium 項(xiàng)目的旗艦工具是 Selenium RC,這是他們的第一個(gè)工具,可以用來(lái)以不同的編程語(yǔ)言編寫(xiě)測(cè)試用例。但是 RC 的缺點(diǎn)是與 RC 服務(wù)器的每次通信都很耗時(shí),因此RC非常慢。太慢了,有時(shí)一次測(cè)試要花上幾個(gè)小時(shí)。

從 Selenium v3 開(kāi)始,RC 已棄用,并轉(zhuǎn)移到遺留軟件包中。您依然可以下載并使用 RC,但是很遺憾,已經(jīng)無(wú)法得到支持。但另一方面,為什么要使用一個(gè)過(guò)時(shí)的工具,尤其是當(dāng)有一個(gè)更有效的工具 Selenium WebDriver 時(shí)。在談?wù)揥ebDriver之前,讓我討論一下IDE 和 Grid,它們是構(gòu)成 Selenium v1 的其他工具。

Selenium IDE(集成開(kāi)發(fā)環(huán)境)

2006年,日本的?Shinya Kastani?將他的 Selenium IDE 原型捐贈(zèng)給了 Apache 的 Selenium 項(xiàng)目。這是一個(gè)用于快速創(chuàng)建測(cè)試用例的 Firefox 插件。IDE 實(shí)施了記錄和回放模型,其中通過(guò)記錄用戶(hù)與 Web 瀏覽器的交互來(lái)創(chuàng)建測(cè)試用例。這些測(cè)試然后可以播放任意次。

Selenium IDE 的優(yōu)勢(shì)在于,通過(guò)插件記錄的測(cè)試可以以不同的編程語(yǔ)言導(dǎo)出,例如:Java、Ruby、Python 等。請(qǐng)查看以下 Firefox IDE 插件的屏幕截圖。


但是,IDE的相關(guān)缺點(diǎn)是:

  • 插件僅適用于 Mozilla Firefox;不適用于其他瀏覽器

  • 無(wú)法測(cè)試動(dòng)態(tài) Web 應(yīng)用程序。只能記錄簡(jiǎn)單的測(cè)試

  • 測(cè)試用例不能使用編程邏輯編寫(xiě)腳本

  • 不支持?jǐn)?shù)據(jù)驅(qū)動(dòng)測(cè)試

這些是 Selenium IDE 的一些方面?,F(xiàn)在讓我談?wù)?Selenium Grid。

什么是 Selenium Grid

Selenium Grid 由?Patrick Lightbody?開(kāi)發(fā),最初稱(chēng)為 HostedQA(最初是 Selenium v1 的一部分),它與 RC 結(jié)合使用以在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行測(cè)試。實(shí)際上,使用 Grid 可以在多臺(tái)計(jì)算機(jī)上同時(shí)執(zhí)行多個(gè)測(cè)試腳本。

借助 Hub-Node 架構(gòu)實(shí)現(xiàn)并行執(zhí)行。一臺(tái)機(jī)器將承擔(dān)集線(xiàn)器的角色,其他機(jī)器將充當(dāng)節(jié)點(diǎn)。集線(xiàn)器控制在各種操作系統(tǒng)內(nèi)的各種瀏覽器上運(yùn)行的測(cè)試腳本。在不同節(jié)點(diǎn)上執(zhí)行的測(cè)試腳本可以用不同的編程語(yǔ)言編寫(xiě)。


Grid 仍在使用,并且可以與 WebDriver 和 RC 一起使用。但是,使用所有必需的瀏覽器和操作系統(tǒng)維護(hù)網(wǎng)格是一個(gè)挑戰(zhàn)。為此,有多個(gè)在線(xiàn)平臺(tái)可提供在線(xiàn) Selenium Grid,您可以訪(fǎng)問(wèn)它們以運(yùn)行 Selenium 自動(dòng)化腳本。例如,您可以使用 LambdaTest。它具有2000 多種瀏覽器環(huán)境,您可以在這些環(huán)境中運(yùn)行測(cè)試,并真正實(shí)現(xiàn)跨瀏覽器測(cè)試的自動(dòng)化。

什么是 Selenium WebDriver

Selenium WebDriver 由?Simon Stewart?于 2006 年創(chuàng)立,它是第一個(gè)可以從操作系統(tǒng)級(jí)別控制瀏覽器的跨平臺(tái)測(cè)試框架。與 IDE 相比,Selenium WebDriver 提供了一個(gè)編程接口來(lái)創(chuàng)建和執(zhí)行測(cè)試用例。編寫(xiě)測(cè)試用例,以便識(shí)別網(wǎng)頁(yè)上的 Web 元素,然后對(duì)這些元素執(zhí)行操作。

WebDriver 是 RC 的升級(jí),因?yàn)樗俣雀?。它更快,因?yàn)樗梢灾苯诱{(diào)用瀏覽器。另一方面,RC 需要 RC 服務(wù)器與 Web 瀏覽器進(jìn)行交互。每個(gè)瀏覽器都有自己的驅(qū)動(dòng)程序,應(yīng)用程序可以在該驅(qū)動(dòng)程序上運(yùn)行。不同的 WebDrivers 是:

  • Firefox Driver (Gecko Driver)

  • Chrome Driver

  • Internet Explorer Driver

  • Opera Driver

  • Safari Driver and

  • HTM Unit Driver

Selenium WebDriver 的好處

  • 支持 7 種編程語(yǔ)言:JAVA、C#、PHP、Ruby、Perl、Python 和 .Net

  • 支持在不同瀏覽器進(jìn)行測(cè)試,如:Firefox、Chrome、IE、Safari

  • 支持在不同操作系統(tǒng)上執(zhí)行測(cè)試,如:Windows、Mac、Linux、Android、iOS

  • 克服了 Selenium v1 的局限性,例如文件上傳、下載、彈出窗口和對(duì)話(huà)欄

Selenium WebDriver 的缺點(diǎn)

  • 無(wú)法生成詳細(xì)的測(cè)試報(bào)告

  • 無(wú)法測(cè)試圖像

不管緊致什么挑戰(zhàn),這些缺點(diǎn)都可以通過(guò)與其他框架集成來(lái)克服。對(duì)于測(cè)試圖像,可以使用 Sikuli,對(duì)于生成詳細(xì)的測(cè)試報(bào)告,可以使用 TestNG。


什么是Selenium?使用Selenium進(jìn)行自動(dòng)化測(cè)試的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
余姚市| 浪卡子县| 敦煌市| 陆川县| 名山县| 高台县| 连平县| 贞丰县| 唐海县| 西贡区| 兴和县| 辉县市| 建昌县| 义乌市| 清苑县| 敦煌市| 章丘市| 丘北县| 浏阳市| 海林市| 库车县| 甘孜| 鹤庆县| 邵阳县| 七台河市| 玛多县| 汕尾市| 洞头县| 镇沅| 始兴县| 东港市| 久治县| 温宿县| 全椒县| 侯马市| 农安县| 盐源县| 即墨市| 大厂| 海南省| 万载县|