天天看點

Selenium 系列篇(一):準備篇

1. 為什麼是 Selenium

最初的自動化測試主要用于 Web 端,而 Selenium 是使用最為廣泛的 Web 自動化測試架構之一

Selenium 可以完全模拟使用者對主流浏覽器進行操作,包含:Chrome、FireFox、Safari 等;目前 Selenum 穩定版本為:Selenium 3.x,使用 Python 可以非常友善地編寫腳本,實作對浏覽器的操作

Selenium 包含:Selenium WebDriver、Selenium IDE、Selenium Grid

其中,Selenium WebDriver 可以使用各種語言,包含 Python 驅動浏覽器進行自動化操作

Selenium IDE 是一款浏覽器插件,可以通過腳本錄制完成簡單的自動化功能,支援 Chrome 和 Firefox 浏覽器

Selenium Grid 用于管理對接大量的 Web 浏覽器及移動端,包含 Android、iOS 的自動化測試操作,提升測試的效率,一般用于對接 Appium 完成多裝置管理平台

2. 環境準備

首先要搭建 Python3 環境,具體可以參考下面這個連結:

​​https://www.runoob.com/python/python-install.html​​

接着使用 Python3 自帶的 pip3 指令安裝 Selenium

# 安裝最新版本的 selenium
pip3 install -U selenium      

接着,檢視 Chrome 浏覽器的版本号,下載下傳 ChromeDriver 對應的版本

​​https://npm.taobao.org/mirrors/chromedriver/​​

Selenium 系列篇(一):準備篇

需要注意的是,為了保證 Selenium 能夠正常驅動 Chrome 浏覽器,需確定 Chrome 版本和 ChromeDriver 版本一緻

最後,将 ChromeDriver 配置到環境變量中去,如果是 Win 系統,Path 變量中加入 ChromeDriver 的完整路徑;如果是 Mac OSX,将 ChromeDriver 放在 /usr/local/bin 目錄下即可

3. 試一試

以 Python + Selenium 來實作一個簡單功能

首先,需要導入 selenium 的依賴包,并初始化 Chrome 驅動類

# 導入依賴
from selenium import webdriver

# 執行個體化驅動
driver = webdriver.Chrome()      

接着,我們調用 API 中的 get() 方法打開一個網站

# 打開網站
driver.get('http://www.baidu.com')      

打開網站之後,我們按 F12 打開開發者調試工具,定位到搜入框、搜尋按鈕兩個元素的 id,分别為:kw、su

Selenium 系列篇(一):準備篇

Selenium 可以先通過 id 、class、xpath 等屬性查找到元素控件,然後對控件元素進行點選、滑動、輸入等一系列操作

我們拿到輸入框元素,模拟輸入内容,然後模拟點選搜尋按鈕,執行一次搜尋操作

Selenium 系列篇(一):準備篇
# 輸入框元素
input_element = driver.find_element_by_id('kw')

# 模拟輸入内容
input_element.send_keys('Python')

# 搜尋按鈕元素
search_btn_element = driver.find_element_by_id('su')

# 執行點選操作
search_btn_element.click()