程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python+Selenium- 環境搭建

編輯:Python

一,Selenium 簡介

Selenium是目前最流行的web自動化測試工具,也常用於網絡爬蟲,已經更新到3以上的版本。

1,組件

它提供了以下web自動化測試組件:

  • Selenium IDE,Firefox浏覽器的一個插件,提供簡單的腳本錄制、編輯與回放功能;

  • Selenium Remote Control (RC),是selenium 1 提供的組件,包含:Selenium Server(用於提供自動化測試服務)、Selenium Client(用於執行腳本);

  • Selenium Grid,用於對測試用例集做分布式處理(並行),現已集成到selenium server中;

  • WebDriver,Selenium2(包括Selenium3)拋棄了Selenium RC,而是使用WebDriver。相比Selenium RC,Webdriver 的API更容易理解和使用,可讀性和可維護性也有較大提高。

因為後面我們的web自動化測試使用的是Selenium3(即WebDriver),這裡對WebDriver做一下說明:

  • Webdriver不依賴於任何測試框架,除了必要的浏覽器驅動,無需啟動其他進程,也不必像Selenium 1那樣需要先啟動服務;

  • 設計模式:按照Server-Client的經典設計模式設計;

  • Server端:可以是任意的浏覽器,當腳本啟動浏覽器時,該浏覽器就是Server,它的職責是處理Client發送的請求並做出響應;

  • Client端:即我們的測試代碼,測試代碼發送HTTP請求給Server(即浏覽器),Server接受請求,執行相應操作並返回結果;

  • 不同的浏覽器,WebDriver需要依賴對應的浏覽器驅動(如 chromedriver.exe)來轉化浏覽器的native調用,所以進行Selenium自動化時,需先下載對應的浏覽器的驅動。

2,特點

  • 免費開源的自動化測試工具(框架)

  • 支持多平台:windows、linux、MAC

  • 支持多種浏覽器:Chrome、Firefox、IE、Safari、Opera

  • 支持多種開發語言: java、ruby、python、C、C#等

  • 支持分布式執行測試用例集,即可並行執行測試

不過多贅述,當你看到這篇博客的時候,相信你已經對selenium有了個大概的認知。接下來我們開始在windows 10 上搭建python+selenium環境。

二,Python+Selenium環境搭建

1,下載python

建議下載python 3.x版本,官方已經停止對python 2.x版本維護更新。

windows版本官網下載地址:Python Releases for Windows | Python.org

以安裝Python 3.7.7為例,進入上面的網址,根據系統 (32/64位)選擇,我這裡選擇下載64位的

2,安裝python

雙擊下載好的文件,一路默認安裝即可,這裡注意勾選添加python至環境變量,這樣就不需要後續再設置環境變量了。

3,驗證是否安裝完成

cmd窗口輸入命令:python,出現版本信息等則說明安裝成功,且環境變量設置成功,如下

如果在上一步中,未勾選添加python至環境變量,輸入python命令後會提示:不是內部或外部命令,只需將python的安裝路徑添加至環境變量即可,具體添加方法可百度。

4,安裝Selenium

cmd窗口輸入命令:pip install selenium,安裝最新版本的selenium

安裝完成後可以查看版本號,命令為:pip show selenium

安裝指定版本命令為:pip install selenium==xxx

卸載命令:pip uninstall selenium

三,啟動Chrome浏覽器

不同的浏覽器,需要安裝對應浏覽器的Selenium驅動才能進行自動化測試。首先介紹Chrome浏覽器。

1,安裝Chrome浏覽器

沒有安裝Chrome浏覽器,則需先安裝(建議官方地址下載)

官方下載地址為:Google Chrome 網絡浏覽器

下載安裝過程很機械,不做過多說明。

2,查看Chrome版本

打開Chrome浏覽器 --> 輸入網址:chrome://settings/help --> 按回車鍵,如下:

3,下載驅動 chromedriver

下載地址:http://chromedriver.storage.googleapis.com/index.html

也可以選擇淘寶鏡像下載,地址為:CNPM Binaries Mirror

低版本Chrome浏覽器已經很少使用,就不做對應下載說明了。更新版本的Chrome浏覽器(從70~87),只需根據自己電腦上安裝的Chrome浏覽器版本下載對應的chromedriver即可,如下:

我電腦上的Chrome浏覽器版本為 86.0.4240.111(正式版本) (64 位),選擇下載如下:

注意:這裡按照chrome版本查找對應的chromedriver(只需對應大版本就行)下載即可,比如我的浏覽器版本是86.0.4240.111,chromedriver裡沒有對應的86.0.4240.111版本,下載86.0.4240.22版本就行。

下載完成後,解壓該zip文件得到chromedriver.exe文件,將chromedriver.exe放置在python安裝目錄的Scripts中

注意:需要將解壓出來的chromedriver.exe文件放置在Scripts中,而不是將解壓得到的chromedriver文件夾放置在Scripts中,否則啟動腳本時會報錯。

4,啟動Chrome浏覽器

腳本如下:

# -*- coding:utf-8 -*-
# @author: 給你一頁白紙
import time
from selenium import webdriver
driver = webdriver.Chrome() # 啟動浏覽器
driver.get("https://www.baidu.com") # 打開某個網址
time.sleep(10)
driver.quit() # 關閉浏覽器

注意:get()方法中URL要填寫完整,如:"https://www.baidu.com",而不是"www.baidu.com",否則會報錯

運行腳本,啟動Chrome浏覽器並打開百度網址,如下:

四,啟動火狐浏覽器(Firefox)

1,安裝火狐浏覽器

官網下載地址:Firefox 火狐浏覽器 - 全新、安全、快速 | 官方最新下載

安裝過程不贅述。

2,查看火狐浏覽器版本

打開火狐浏覽器,點擊右上角"菜單"按鈕進行查看,步驟如下:

我這裡的火狐浏覽器版本為:82.0.2 (64 位)

3,下載驅動 geckodriver

selenium 3 只支持Firefox 48及以上版本,且需下載驅動,所以配置如下:

  • Firefox 48 及以上版本,Selenium 3.X + FireFox驅動(geckodriver)

  • Firefox 47 及以下版本,Selenium 2.X,內置驅動,無需下載

geckodriver下載地址:Releases · mozilla/geckodriver · GitHub

我這裡選擇目前最新的版本下載(浏覽器為64位),如下:

如果按照後續步驟不能啟動浏覽器,可以嘗試刪除該版本的geckodriver下載更低的版本的geckodriver。

下載後解壓文件,將解壓後得到的 geckodriver.exe 文件放置在python安裝目錄的Scripts中(同chromedriver.exe),如下:

4,啟動Chrome浏覽器

腳本如下:

# -*- coding:utf-8 -*-
# @author: 給你一頁白紙
import time
from selenium import webdriver
driver = webdriver.Firefox() # 啟動浏覽器
driver.get("https://www.baidu.com") # 打開某個網址
time.sleep(10)
driver.quit() # 關閉浏覽器

運行腳本,啟動Firefox浏覽器並打開百度網址,如下:

五,啟動IE浏覽器

windows系統自帶IE浏覽器,無需下載。

1,查看IE浏覽器版本

打開IE浏覽器 --> 點擊右上角"設置"圖標 --> 點擊"關於 Internet Explorer"按鈕,查看

我電腦上IE版本為IE 11。

2,下載驅動 IEDriverServer

Selenium3 只支持IE 9及以上版本,所以這裡建議:

  • IE 9及以上版本,Selenium3.X + IE驅動 (IEDriverServer)

  • IE 8及以下版本,Selenium2.X + IE驅動 (IEDriverServer)

IEDriverServer下載地址如下(官網下載速度較慢,也可以使用淘寶鏡像下載):

官網下載地址:http://selenium-release.storage.googleapis.com/index.html

淘寶鏡像下載地址:CNPM Binaries Mirror

因為沒有找到不同版本的IE浏覽器對應的驅動版本,所以我這裡直接下載最新的版本,如下:

下載後解壓該zip文件,同樣的,將解壓後得到的IEDriverServer.exe放置在python安裝目錄的Scripts中,如下:

3,啟動IE浏覽器

首先要禁止啟用IE浏覽器的保護模式,步驟如下:

打開浏覽器 --> 點擊左上角"設置"圖標 --> Internet選項 --> 安全,將四個選項中的"啟用保護模式"的勾選去掉,如下:

編寫腳本如下:

# -*- coding:utf-8 -*-
# @author: 給你一頁白紙
import time
from selenium import webdriver
driver = webdriver.Ie() # 啟動浏覽器
driver.get("https://www.baidu.com") # 打開某個網址
time.sleep(10)
driver.quit() # 關閉浏覽器

運行腳本,啟動IE浏覽器並打開百度網址,如下:

運行腳本打開IE浏覽器時,遇到報錯如下:
selenium.common.exceptions.SessionNotCreatedException: Message: Unexpected error launching Internet Explorer. Browser zoom level was set to 150%. It should be set to 100%

解決方法:打開浏覽器 --> 點擊左上角"設置"圖標 --> 選擇"縮放",修改成100%即可。

至此,windows上Python + Selenium環境便搭建完成,並且能通過腳本啟動Chrome、Firefox、IE浏覽器。

實際測試過程中,大家可根據需要選擇相應的浏覽器進行web自動化測試。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved