軟件測試 | Selenium自動化測試
Selenium是一系列基于web的自動化測試工具。它提供了一系列測試函數(shù),用于支持Web自動化測試。這些函數(shù)非常靈活,它們能夠通過多種方式定位界面元素,并可以將預(yù)期結(jié)果與系統(tǒng)實際表現(xiàn)進行比較。
作為一款強大的測試工具,Selenium具有以下幾個特性。
(1)可對多瀏覽器進行測試,如IE、Firefox、Safari、Chrome、Android手機瀏覽器等。
(2)支持多種語言,例如Java、C#、Python、Ruby、PHP等。
(3)跨平臺,例如Windows、Linux、iOS、Android等。
(4)開源免費。
Selenium是由以下幾個工具組成,每個工具都扮演著獨特的角色。
Selenium IDE。Selenium IDE是一個用于構(gòu)建腳本的初級工具。它是一個Firefox插件,擁有一個易于使用的界面。Selenium IDE擁有錄制功能,能夠記錄用戶執(zhí)行的操作,并將其導(dǎo)出為可重復(fù)使用的腳本(支持多種編程語言),然后用于執(zhí)行測試。
Selenium 1。Selenium 1(Selenium-RC)是Selenium最主要的測試工具之一,它所具有的某些功能即使是新版的Selenium2也無法支持。它能夠通過多種語言(Java、JavaScript、Ruby、PHP、Python、Perl和C#)編寫測試代碼,同時能支持幾戶所有瀏覽器的測試。
Selenium 2。Selenium 2(WebDriver)作為最新版的Selenium工具,代表未來Selenium的發(fā)展方向。這套全新的自動化測試工具提供了許多功能,包括一套組織性更好、面向?qū)ο蟮腁PI,并克服了在之前Selenium1版本中測試的局限性。
可以通過很少的修改就將Selenium1的代碼移植到Selenium2。同時,Selenium2也提供了向前兼容Selenium1的接口。
Selenium Grid。Selenium Grid能夠讓Selenium 1的測試在多個不同的環(huán)境中運行,也能讓測試并行執(zhí)行。也就是說,各個測試能夠在同一時間、不同機器上運行。這有兩個好處。首先,如果擁有一套大規(guī)模的測試或執(zhí)行緩慢的測試,可以通過Selenium Grid將測試在同一時間、不同的機器上運行,從而大幅提高性能;其次,如果測試必須在多個環(huán)境中運行,那么Selenium Grid具有的“同一時間、不同機器”的特性也能夠輕松做到這一點。不管怎么樣,Selenium Grid都能夠大幅提高測試的效率。
2.選擇適合的Selenium工具
大多數(shù)用戶都是從Selenium IDE開始的。如果沒有編程經(jīng)驗,可以通過Selenium IDE來快速熟悉Selenium的命令。使用IDE,可以快速創(chuàng)建簡單的測試,有時甚至只需花幾分鐘的時間。
然而,并不建議所有的自動化測試都使用Selenium IDE。為了有效地使用Selenium,需要使用Selenium 1或Selenium 2,來配合使用其中一種編程語言,自己創(chuàng)建并運行測試。
雖然,Selenium 2 是未來Selenium未來的發(fā)展方向,但Selenium 1和Selenium 2各有優(yōu)劣,這需要用戶進行判斷。另外,Selenium 1和Selenium 2可以互相轉(zhuǎn)換。
Selenium Grid一般用于分布式測試和集群測試,需要在多臺機器同時執(zhí)行測試時,可以選擇使用該工具。