做 web 專案,測試是無法避免的。對於某些特定功能,採用單元測試就行。但如果想對網站進行整體測試,人工點選測試可行但有點累,如果能借助自動化測試工具就更好了。selenium 就是一款能滿足這樣要求的測試工具,selenium 是一款用於 web 應用程式測試的工具。測試是直接執行在瀏覽器中,就像真正的使用者在操作一樣。下面是 selenium 環境搭建記錄。
1、安裝python3.7.2
本人使用的是 windows 作業系統,下載 MSI 檔案,一直下一步安裝即可,這裡不贅述。下載地址如下:
https://www.python.org/downloads/windows/
2、安裝 selenium
如果下載的是老版本 python,需另安裝 pip,python3.5+ 自帶 pip。
pip install Selenium
3、安裝瀏覽器驅動
selenium 自帶 firefox 瀏覽器驅動,本人使用的是 chrome,所以需要下載安裝 chromedriver,chromedriver 下載地址如下:
http://npm.taobao.org/mirrors/chromedriver/
注意下載相應瀏覽器版本的 chromedriver,如果版本不對應,後面的測試 selenium 是沒辦法啟動 chrome 瀏覽器的。下面給出部分版本的對應關係,更多的對應關係可以去官網上查詢
chrome | chromedriver |
---|---|
69-71 | 2.43 |
68-70 | 2.42 |
67-69 | 2.41 |
66-68 | 2.40 |
4、安裝 python IDE 編輯工具,本人使用的是 pycharm 社群版
https://www.jetbrains.com/pycharm/download/#section=windows
5、在 pycharm 中 配置 python 安裝路徑
file->Settings->Project->project interpreter
6、編寫測試指令碼
1 from selenium import webdriver 2 import time 3 4 # 指定 chromedriver 的物理路徑 5 path = "D:developpython3chromedriver.exe" 6 browser = webdriver.Chrome(executable_path=path) 7 8 # 開啟網頁 9 browser.get("http://www.baidu.com") 10 input_str = browser.find_element_by_id(`kw`) 11 input_str.send_keys("ipad") 12 time.sleep(1) 13 14 button = browser.find_element_by_id(`su`) 15 button.click() 16 time.sleep(2) 17 18 search_str = browser.find_elements_by_link_text(`iPad_百度百科`) 19 search_str[0].click() 20 time.sleep(10) 21 22 # 關閉瀏覽器 23 browser.close()
一個簡單的開啟百度網,搜尋 iPad,點選進入 iPad 百度百科詞條指令碼就完成了,執行下吧,看看效果。