




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 助理廣告師考試2024年歷年回顧試題及答案
- 復(fù)合服務(wù)測試題及答案
- 校園安保考試試題及答案
- 飲食風(fēng)俗考試題及答案
- 人力資源二試題及答案
- 政治歷史考試題及答案
- 深入解析紡織品設(shè)計師證書考試試題及答案
- 2024年設(shè)計師如何應(yīng)對市場競爭試題及答案
- 護士三基中醫(yī)試題及答案
- 奧數(shù)比賽小題試題及答案
- 四川農(nóng)商銀行招聘筆試真題2024
- 右足底皮膚裂傷護理查房
- 國有建筑施工企業(yè)提質(zhì)增效探討
- 2025年普通高中學(xué)業(yè)水平選擇性考試沖刺壓軸卷一英語試卷(含答案)
- 兒科社區(qū)獲得性肺炎護理
- 陜西師大附中2025年高三5月總復(fù)習(xí)質(zhì)檢(二模)生物試題含解析
- 2025年生豬屠宰獸醫(yī)衛(wèi)生檢疫人員考試題(附答案)
- 2025年中國鐵路信號電源屏數(shù)據(jù)監(jiān)測報告
- 2024北京海淀區(qū)高一(下)期末英語試題和答案
- 警察知識小學(xué)講課
- 2025年乙肝知識試題及答案
評論
0/150
提交評論