Web自動化測試 —— 測試環境搭建 (Selenium+Python) Windows篇
2017年6月8日 / 星期四 / 陰
(說明:文中提到的網址,在本文完成時都是可以訪問的,如果後期不能訪問了,可以用文中提到的方法嘗試找到新的獲取方式。)
環境搭建前的準備:
如果不能訪問,可以試試下面的解決辦法:
a).安裝VPN網路連線工具,推薦用Green VPN,我用的時候是免費的。
b).百度搜索一下“Python官網無法訪問解決辦法”或“Python最新官方版本下載”
進入Python官網後,點選Downloads選單,進入下載介面,截止本文寫作時間,Python最新版本號為3.6.1,如果你是電腦是Windows作業系統,可以直接點選 "Download Python 3.6.1"按鈕下載儲存Windows 32位版本的安裝包。
如果不是可以在上圖中的release版本列表中點選 Python 3.6.1 進入3.6.1版本下載介面,在下載介面最下方有各個作業系統環境下的Python 3.6.1版本,如下圖:
Windows版本分為32位和64位,用的32位Windows作業系統的同學請下載Windows x86版本,用64位Windows作業系統的同學請下載Windows x86-64版本。
另外,我們可以看到Windows 32位和63位版本又分別有3個不同的版本,我們到底應該用哪一個呢?
"embeddable zip file"
embeddable是可嵌入的意思,即這個版本是嵌入版本。該版本下載後是一個壓縮包,其中包含一個最小的Python環境。它的目的是作為另一個應用程式的一部分,而不是直接被終端使用者訪問。
下圖是Python官方幫助文件中對嵌入式版本的說明:
或者在Python官網主頁,選擇“documentation”下的“docs”->“Python 3.x Docs”或“Python 2.x Docs”進入幫助文件介面
這是下載後壓縮包截圖:
下圖是解壓後,壓縮包的內容:
"executable installer":可執行安裝檔案,直接執行安裝,下載後可以在無網路的情況下安裝。
"web-based installer": 需要通過聯網完成安裝
2、pip下載
如果下載地址不可用,可以嘗試用下面的方法找到pip最新版本下載
進入Python官網,選擇pypi選單
在Pypi介面搜尋框中輸入pip搜尋
在搜尋結果中找到最新的pip版本
進入下載介面,下載pip包
3、Selenium安裝包下載
和pip相同,如果下載地址不能用,可以通過下面的方法嘗試獲取Selenium最新版本
在Python官網上pypi介面搜尋Selenium
找到最新版本的Selenium進入下載介面下載安裝包
環境搭建:
1、安裝Python
我用的是executable installer版本,直接雙擊安裝包,然後就是下一步,需要注意的是,3.6.1版本在安裝時,有一個選項是配置Python環境的,選了就不用再手動配置環境了。其他的和一般的軟體安裝沒區別。
安裝成功後的目錄結構:一個是Python安裝目錄結構,一個是安裝目錄下Lib\site-packages目錄結構。(注:目前是沒有裝Selenium的目錄結構)
2、檢測一下python是否安裝成功
同時按下win鍵+R鍵,出現執行視窗,輸入"cmd",回車,進入命令視窗
在命令列視窗輸入"Python",回車,安裝成功就會顯示下圖中標紅的內容,如果報錯了,先看看是不是環境變數沒有配置。
P.S. 環境變數配置方法:在"我的電腦"圖示上滑鼠右鍵調出右鍵選單,然後選擇"屬性",win7以上都需要在彈出的視窗上左邊選單列表中選擇"高階系統設定"項,然後才能看到我們屬性的系統屬性視窗,在系統屬性視窗點選"環境變數"按鈕,進入環境變數配置介面。在PATH變數後增加的變數值如下:
變數名:PATH
變數值:;C:\Python36;C:\Python36\Scripts;
說明:這裡的變數值是安裝Python的路徑,如果安裝在D盤,就把C換成D,如果不是安裝在磁碟根目錄下,要把安裝的完整路徑填上
配置好了,再用上面的方法驗證Python是否安裝成功。
3、安裝Selenium
Python環境下安裝Selenium有兩種方法:
方法一:如果電腦中安裝了"pip",我們就可以用pip來安裝Selenium,這個方法就比較簡單。
如何知道自己電腦中是否安裝了pip呢?
我們可以通過Python版本判斷,當Python版本為Python 2.7.9以上或Python 3.4以上的版本,那麼我們的系統中在安裝Python時就自帶了pip。(注:Python版本的檢視方式參照第2點)
還有一個簡單粗暴的方法,直接在Windows命令列輸入pip,如果有說明資訊,則說明系統已經安裝了pip,反之則沒有安裝。下圖就說明系統中以及安裝的pip。
用pip -V 檢視pip的版本,如果不是最新的版本更新一下版本,使用命令:python -m pip install -U pip 更新版本
然後用pip安裝Selenium,方法如下
1)、使用命令 pip install Selenium,回車後就會顯示如下安裝進度,提示安裝成功後就安裝好了(這個命令是安裝最新的Selenium版本,還可以安裝指定的版本)
2)、安裝指定的Selenium版本命令:pip install selenium== 3.4.1
方法二:直接通過Selenium安裝包安裝,方法如下:
1)、將下載的Selenium安裝包解壓,解壓後如下
2)、開啟Windows命令列視窗,將目錄切換到Selenium解壓後的目錄中
使用命令:直接輸入"碟符:"回車可以切換碟符,然後用"cd 路徑"切換到Selenium解壓後的目錄中
3)、使用命令:python setup.py install 安裝Selenium
4、檢查Selenium是否安裝成功
方法一:
使用命令"pip show selenium"可以看到當前系統中安裝的版本資訊(截圖參看上一點中的方法一)
方法二:
首先,可以到Python的安裝目錄下檢視,多了一個Selenium的目錄
然後開啟Python的IDLE
在IDLE中輸入下圖中的命令(黃色框中的),回車後顯示紅色框中的內容就可以判斷Selenium安裝成功了。
5、檢查安裝好的環境是否能進行自動化測試
寫一個簡單的Python自動化指令碼,程式碼要實現的功能是開啟Firefox瀏覽器,輸入百度的網址,開啟百度介面,在百度搜索框中輸入“Selenium2”關鍵字,然後點“百度一下”按鈕搜尋出結果,然後自動關閉瀏覽器。
程式碼來源:蟲師的Selenium 2 自動化測試實踐一書,程式碼的具體解釋可以去蟲師的部落格看
1 #coding=utf-8
2 from selenium import webdriver
3
4 driver = webdriver.Firefox()
5 driver.get("http://www.baidu.com")
6
7 driver.find_element_by_id("kw").send_keys("selenium2")
8 driver.find_element_by_id("su").click()
9 driver.quit()
步驟:
1、新建一個Python指令碼檔案,命名為baidu.py,必須以.py為字尾,這是Python指令碼檔案的固有後綴名
2、然後用Python的IDLE開啟該檔案,或者用記事本開啟都可以,用IDLE編輯程式碼後可以直接執行,用記事本編輯程式碼還需要到命令列用命令 “Python 檔名.py” 來執行
3、複製貼上上面的程式碼,或者自己動手敲進去,自動動手敲可以加深印象
4、執行程式碼,檢視結果
執行結果如下:
這段程式碼的執行結果,應該是把Firefox開啟,然後顯示百度的介面,並搜尋出“Selenium2”的結果,但實際我執行時報錯了,而Firefox瀏覽器根本就沒有開啟。
這是為什麼呢?
因為Firefox瀏覽器在新版本中更新了新引擎。以前的Firefox版本使用的是Google的原生驅動,當時Google的原生驅動支援Firefox的引擎,但是現在Firefox更新了引擎,而Google的原生驅動沒有做對應的更新,所以導致上面的問題出現,為了解決這個問題,就需要重新下載一個驅動檔案,檔名為“geckodriver.exe”,下載後將其路徑配置在 Path 變數中。或者直接把檔案拷貝到Python安裝目錄下
從上面的路徑獲取最新版本,geckodriver也有多個版本,選擇自己系統對應的版本,我的是Windows系統64位的
下載後把壓縮包解壓了,我是直接將解壓後的檔案拷到Python安裝目錄下了
再執行剛剛的指令碼,這次就能成功的開啟瀏覽器並搜尋結果了。