Python語言中的Selenium環(huán)境搭建_第1頁
Python語言中的Selenium環(huán)境搭建_第2頁
Python語言中的Selenium環(huán)境搭建_第3頁
Python語言中的Selenium環(huán)境搭建_第4頁
Python語言中的Selenium環(huán)境搭建_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第Python語言中的Selenium環(huán)境搭建目錄1.selenium介紹1.1selenium歷史1.Selenium1.02.Selenium2.03.Selenium3.02.selenium的環(huán)境配置步驟2.1安裝/卸載selenium2.2安裝drive3.selenium-webdriver元素定位參考4.實例

1.selenium介紹

Selenium是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏

覽器包括IE(7,8,9,10,11),MoillaFirefox,Safari,GoogleChrome,Opera,Edge等。

這個工具的主要功能包括:測試與瀏覽器的兼容性一測試應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。測試系統(tǒng)功能一創(chuàng)建回歸測試檢驗軟件功能和用戶需求。支持自動錄制動作和自動生成Python、Net、Java、Peri等不同語言的測試腳本。

1.1selenium歷史

Selenium經(jīng)歷了三個大版本,Selenium1.0、Selenium2.0和Selenium3.0。Selenium不是由單獨一個工具構(gòu)成的,而是由一些插件和類庫組成的,這些插件和類庫有其各自的特點和應(yīng)用場景。

Selenium1.0家族關(guān)系如圖所示:

1.Selenium1.0

(1)SeleniumIDE。

SeleniumIDE是嵌入在Firefox瀏覽器中的一個插件,可實現(xiàn)簡單的瀏覽器操作的錄制與回放功能。

(2)SeleniumGrid。

SeleniumGrid是一個自動化測試輔助工具。利用Grid可以很方便地實現(xiàn)在多臺機器上或異構(gòu)環(huán)境中運行測試用例。

(3)SeleniumRC。

SeleniumRC(RemoteControl)是Selenium家族的核心部分,支持多種不同語言編寫的自動化測試腳本。把SeleniumRC的服務(wù)器作為代理服務(wù)器去訪問應(yīng)用,即可達到測試的目的。

SeleniumRC分為ClientLibraries和SeleniumServer兩部分。ClientLibraries主要用于編寫測試腳本,負責(zé)控制SeleniumServer的庫。SeleniumServer負責(zé)控制瀏覽器行為。

SeleniumServer主要分為三部分:SeleniumCore、Launcher和HttpProxy。SeleniumCore就是一堆JavaScript函數(shù)的集合。通過這些JavaScript函數(shù),我們可以用程序?qū)g覽器進行操作。Launcher用于啟動瀏覽器,把SeleniumCore加載到瀏覽器頁面當(dāng)中,同時,把瀏覽器的代理設(shè)置為HttpProxy。

2.Selenium2.0

Selenium2.0把WebDriver加到了Selenium1.0這個家族中,簡單用公式表示如下:

Selenium2.0=Selenium1.0+WebDriver

需要注意的是,在Selenium2.0中主推的是WebDriver,可以將其看作SeleniumRC的替代品。為了保持向下的兼容性,Selenium2.0并沒有徹底拋棄SeleniumRC。

SeleniumRC與WebDriver的工作方式有著本質(zhì)的區(qū)別。

SeleniumRC是在瀏覽器中運行JavaScript應(yīng)用,使用瀏覽器內(nèi)置的JavaScript翻譯器來翻譯和執(zhí)行selenese的(selenese是Selenium命令集合)。

WebDriver通過原生瀏覽器支持或者瀏覽器擴展來直接控制瀏覽器。WebDriver是針對各個瀏覽器而開發(fā)的,取代了嵌入被測Web應(yīng)用中的JavaScript。WebDriver與瀏覽器緊密集成,支持創(chuàng)建更高級的測試,避免了JavaScript安全模型導(dǎo)致的限制。除來自瀏覽器廠商的支持外,WebDriver還可利用操作系統(tǒng)級的調(diào)用,模擬用戶輸入。

Selenium與WebDriver原本屬于兩個不同的項目,WebDriver的創(chuàng)建者SimonStewart早在2009年8月的一封郵件中解釋了項目合并的原因。

3.Selenium3.0

2016年7月,Selenium3.0悄悄發(fā)布了第一個beta版。Selenium3.0做了以下更新。

(1)去掉了SeleniumRC,簡單用公式表示如下:

Selenium3.0=Selenium2.0SeleniumRC

(2)Selenium3.0只支持Java8以上版本。

(3)Selenium3.0中的Firefox瀏覽器驅(qū)動獨立了。Selenium2.0測試庫默認是集成Firefox瀏覽器驅(qū)動的,在Selenium3.0中,F(xiàn)irefox瀏覽器和Chrome瀏覽器一樣,在使用前需要下載和設(shè)置瀏覽器驅(qū)動。

(4)macOS操作系統(tǒng)集成了Safari的瀏覽器驅(qū)動,該驅(qū)動默認在/usr/bin/safaridriver目錄下。

(5)只支持IE9.0以上版本。

4.SeleniumIDE

SeleniumIDE同樣是Selenium的家族成員。SeleniumIDE有兩個版本,舊版的SeleniumIDE是基于Firefox瀏覽器擴展的

它提供了比較完備的自動化功能,如腳本錄制/回放、定時任務(wù)等;還可以將錄制的腳本導(dǎo)成不同編程語言的Selenium測試腳本,這在很大程度上可以幫助新手編寫測試用例。

但舊版的SeleniumIDE不支持Firefox新版本支持的API,因此Selenium團隊重新開發(fā)了新版的SeleniumIDE,可以同時支持Chrome、Firefox以及其他瀏覽器。

新版的SeleniumIDE如圖所示,功能比較簡單

2.selenium的環(huán)境配置步驟

1.準(zhǔn)備好python環(huán)境2.準(zhǔn)備好selenium環(huán)境3.下載瀏覽器對應(yīng)的driver版本4.driver配置環(huán)境變量5.在python中import對應(yīng)的依賴

2.1安裝/卸載selenium

打開cmd窗口,

使用命令pipinstallselenium安裝selenium

然后用命令pipshowselenium查看是否安裝成功。

卸載命令pipuninstallselenium

Selenium版本3.141.0

PythonIDLE驗證:沒有報錯證明成功

2.2安裝drive

設(shè)置瀏覽器的驅(qū)動非常簡單。我們可以手動創(chuàng)建一個存放瀏覽器驅(qū)動的目錄,如:D:\driver,將下載的瀏覽器驅(qū)動文件(例如:chromedriver、geckodriver、IEDriverServer)丟到該目錄下。

我的電腦屬性系統(tǒng)設(shè)置高級環(huán)境變量系統(tǒng)變量Path,將D:\driver目錄添加到Path的值中。

Path

;D:\driver

注意:drive的版本應(yīng)該與瀏覽器保持兼容

Chrome下載地址/chrome64win-stable/list_2_2.html

Chromedriver下載地址:/index.html

?驗證驅(qū)動打開python自帶的編輯器

代碼:

importselenium

fromseleniumimportwebdriver

driver=webdriver.Chrome

注意:ChromeC區(qū)分大小寫

3.selenium-webdriver元素定位參考

自動化只要掌握四步操作:獲取元素,操作元素,獲取返回結(jié)果,斷言(返回結(jié)果與期望結(jié)果是否一致),最后自動出測試報告。本篇主要講如何用firefox輔助工具進行元素定位。(新版本的Chrome右鍵檢查可以查看元素)

元素定位在這四個環(huán)節(jié)中是至關(guān)重要的,如果說按學(xué)習(xí)精力分配的話,元素定位占70%;操作元素10%,獲取返回結(jié)果10%;斷言10%。如果一個頁面上的元素不能被定位到,那后面的操作就無法繼續(xù)了。webdriver提供的八種基本元素定位方法。

selenium的webdriver提供了八種基本的元素定位方法,前面六種是通過元素的屬性來直接定位的,后面的xpath和css定位更加靈活,需要重點掌握其中一個。

1.通過id定位:find_element_by_id()2.通過name定位:find_element_by_name()3.通過class定位:find_element_by_class_name()4.通過tag定位:find_element_by_tag_name()5.通過link定位:find_element_by_link_text()6.通過partial_link定位:find_element_by_partial_link_text()7.通過xpath定位:find_element_by_xpath()8.通過css定位:find_element_by_css_selector()

4.實例

importtime

importselenium

fromseleniumimportwebdriver

#1、創(chuàng)建Chrome實例。

driver=webdriver.Chrome()

#2、driver.get方法將定位在給定的URL的網(wǎng)頁。

driver.get("

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論