- Selenium WebDriver自動化測試完全指南
- 劉傲凡
- 1370字
- 2020-05-20 09:24:38
1.1 Selenium的優(yōu)點
本書側(cè)重講解基于Selenium開源程序的網(wǎng)絡(luò)爬蟲方面的自動化技術(shù)。很多人聽過Selenium這個名詞,卻沒有真正去了解過它。經(jīng)常有人問:“如何理解和看待Selenium項目?”對于該問題,Selenium官方有一個很經(jīng)典的回答:“自動化操作的瀏覽器,就是這樣……做你想要做的事情,一切取決于你。”
Selenium項目最早是為測試瀏覽器、網(wǎng)頁而誕生的。在大數(shù)據(jù)時代,Selenium廣泛應(yīng)用于網(wǎng)絡(luò)爬蟲。需要注意的是,Selenium項目并不是單個特定的軟件,而是由多個工具組成,每個工具具有特定的功能。
Selenium WebDriver是Selenium項目基于瀏覽器的一部分,也是我們主要使用的一部分。它的靈活性很強(qiáng),幾乎支持所有主流的瀏覽器(甚至包括一些很小眾的瀏覽器),并且可以完美地在支持這些瀏覽器的操作系統(tǒng)上運(yùn)行。換句話說,當(dāng)使用Selenium的時候,你完全不必?fù)?dān)心兼容性問題,可以放心地進(jìn)行代碼移植。
但不要輕易更換你的Selenium WebDriver調(diào)用的瀏覽器。Selenium WebDriver對瀏覽器的操作是通過瀏覽器原生的API來實現(xiàn)的。這樣一來,雖然速度和穩(wěn)定性大大提高,但也帶來了一些副作用。因不同瀏覽器Web元素的實現(xiàn)和呈現(xiàn)方法不同,Selenium WebDriver也要針對不同的瀏覽器而提供不同的實現(xiàn)方法。
SeleniumWebDriver支持的瀏覽器主要包括:
●Firefox瀏覽器;
●Chrome瀏覽器;
●Opera瀏覽器;
●Edge瀏覽器;
●IE瀏覽器。
SeleniumWebDriver支持的操作系統(tǒng)主要包括:
●Windows;
●Linux;
●macOS(含iOS);
●Android。
除了上面列出的瀏覽器和操作系統(tǒng)外,Selenium還支持多種編程語言(如Java、R、Python、PHP 、Ruby、Perl、Haskell、Objective-C、C#等)。在這個信息泛濫的互聯(lián)網(wǎng)時代,如果要選擇Web方面的自動化工具,我會將Selenium作為首選(作為一個支持多種瀏覽器、多種操作系統(tǒng)、多種編程語言的工具,恐怕沒有什么比它更合適了)。
使用Selenium項目的自動化技術(shù)具有以下好處。
●可靠性。
企業(yè)的日常工作常常包含一些完全必要的重復(fù)性工作,傳統(tǒng)的企業(yè)大多采用人力來處理這些工作,這就容易導(dǎo)致一些嚴(yán)重的錯誤。比如,誤刪數(shù)據(jù)庫、系統(tǒng)宕機(jī)等。無論在經(jīng)濟(jì)上還是在聲譽(yù)上,這樣的錯誤對于企業(yè)來說都是一種毀滅性的打擊。當(dāng)把人力排除時,就可以避免絕大多數(shù)人為錯誤導(dǎo)致的重大損失。
●性能優(yōu)化。
在日常工作中,技術(shù)人員經(jīng)常需要提高工作效率,但以傳統(tǒng)方式來提高工作效率是很難的。當(dāng)應(yīng)用了自動化技術(shù)之后,我們就可以通過更加高效地利用系統(tǒng)來更迅速地執(zhí)行任務(wù),加快工作流程,處理更加龐大的工作負(fù)載。
●解放生產(chǎn)力。
沒有一家企業(yè)不想降低成本。從某個方面來講,要提高利潤,就需要招聘更多的員工,而招聘更多的員工就意味著更高的人力成本。人力成本高企的問題可以通過自動化技術(shù)解決。自動化的工作沒有人力成本,這就意味著通過編寫自動化代碼,可以將工作人員從大部分煩瑣的工作中解放出來。正如一句公認(rèn)的論斷所說——“為了創(chuàng)造物質(zhì)財富而投入生產(chǎn)活動中的一切要素通稱為資源,包括人力資源、物力資源、財力資源、信息資源、時間資源等,其中人力資源是一切資源中最寶貴的資源,是第一資源”。
作為一個跨語言的項目,很多編程語言都可以使用Selenium,如Java。本書采用Python來介紹Selenium的用法。為什么采用Python呢?Python以其快捷著稱,比如,要解決數(shù)獨(dú)問題,使用C語言需要寫300~500行代碼,使用Java需要寫100~200行代碼,而使用Python只需要不到100行代碼。從長遠(yuǎn)的角度來說,作為目前蓬勃發(fā)展的一門計算機(jī)語言,Python具有美好的前景,它在科學(xué)與數(shù)字計算、網(wǎng)絡(luò)編程和系統(tǒng)網(wǎng)絡(luò)運(yùn)維方面的應(yīng)用非常廣泛。Selenium自動化測試與這些方面具有密不可分的關(guān)系,因此基于Python來學(xué)習(xí)Selenium更加有利于讀者未來的發(fā)展。
- Implementing Modern DevOps
- OpenShift開發(fā)指南(原書第2版)
- PostgreSQL for Data Architects
- Django Design Patterns and Best Practices
- Java EE 7 Development with NetBeans 8
- HTML5+CSS3網(wǎng)頁設(shè)計
- 可解釋機(jī)器學(xué)習(xí):模型、方法與實踐
- Couchbase Essentials
- BeagleBone Robotic Projects(Second Edition)
- JavaScript從入門到精通(視頻實戰(zhàn)版)
- Appcelerator Titanium:Patterns and Best Practices
- Practical Predictive Analytics
- 金融商業(yè)數(shù)據(jù)分析:基于Python和SAS
- 你必須知道的.NET(第2版)
- Building Scalable Apps with Redis and Node.js