Photo on selenium
在這篇文章還沒開始之前,小弟先附上 Selenium 官方網站的傳送門。
有興趣或是覺得小弟說得不清楚的,可以再來這邊看看~
( ~'ω')~ <<< Selenium 官方網站 >>> ~('ω'~ )
Selenium 對系統軟體的測試人員來說可真的是一大福音啊。原因是因為當一個系統軟體過於龐大且複雜的時候,所有系統軟體測試都需要透過測試人員手動驗證,而這將會照成了一個問題是,當測試人員不同或者是測試步驟有錯誤或是遺漏,都會間接甚至是直接導致測試的驗證內容不一致或是錯誤。但是透過 Selenium 的自動化框架就就可以輕鬆達到自動化測試,這麼一來,不但可以節省測試人員手動驗證的時間,也可以大大提升測試內容的一致性與準確度。而此篇內容將會簡單的介紹一下 Selenium,而會在後續幾篇文章中將會陸續介紹到 Selenium IDE、Selenium WebDriver 和 Selenium Grid。
Selenium 是一套用於自動化 Web 瀏覽器的工具。
這個是 Selenium open source 的連結: Github - SeleniumHQ/selenium。
Selenium 自動化測試框架,是許多網頁測試工具的核心,讓測試的程式腳本可以直接驅動瀏覽器進行各種操作,就像是真的使用者在操作網站一樣,包括:打開瀏覽器、點擊按或連結、輸入文字、取得網頁內容或內容比對驗證等,可以滿足許多測試的需求。
Selenium 適合使用在敏捷開發上,因為能夠快速發現問題並進行問題回報,減少了手動找問題的時間,也能夠頻繁的執行回歸測試 (Regression testing),並自製測試報告。
Selenium 支持的作業系統
Microsoft Windows
macOS
Linux
Selenium 支持的瀏覽器
Microsoft Edge
Google Chrome
Internet Explorer 11
Mozilla Firefox
Opera
Safari
Selenium 支持的程式語言
Java
Python
C#
Ruby
JavaScript
Kotlin
Selenium 目前有三個主要的專案
Photo on selenium
Selenium 的錯誤回報
在使用 Selenium 遇到任何問題,都可以隨時在 Selenium 的 Bug Tracker 上回報。
或想在未來版本中擁有什麼樣的新功能,也可以在 Selenium 的 Bug Tracker 上提。
Selenium 的 Bug Tracker 連結
測試的程式腳本
上面的 "初步認識 Selenium" 有提到 Selenium 支持的程式語言。
可以選擇其中一種程式語言來撰寫測試的腳本。
瀏覽器驅動程式
使用不同的瀏覽器進行測試,需要相對應得 Browser Drivers。
Microsoft Edge - Microsoft Edge Driver/Microsoft WebDriver
Google Chrome - chromedriver
Internet Explorer 11 - IEDriverServer
Mozilla Firefox - geckodriver
Opera - operachromiumdriver
Safari - safaridriver
首先,先建立出一個自己的測試資料夾,並且進入該層資料夾。
$ mkdir selenium # 新增資料夾
$ cd selenium # 進入該資料夾
以下範例,小弟是透過 python 來完成。
所以接下來要確認的是,有沒有安裝 python。
可以透過 $ python -V
指令來確認是否已安裝。
如果沒有安裝 python 的話可以使用 python website 或 pipenv。
安裝 selenium $ pip install selenium
。
如果下完指令回傳 $ command not found: pip
的錯誤訊息,
就執行一下 $ sudo easy_install pip
安裝 pip。
根據上述"初步動作 Selenium",安裝所需的瀏覽器驅動程式
下載完之後的 WebDriver 檔案記得要移到 /usr/local/bin。$ sudo mv chromedriver /usr/local/bin
移完之後可以確認一下,防火牆有沒有擋下來。
系統偏好設定 > 安全性與隱私權 > 強制允許。
新增簡單測試的 python 腳本檔案。
取什麼名字都可以,但是不能取 selenium.py 會與函式庫的名稱重複。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://ithelp.ithome.com.tw/users/20124633/articles')
driver.close()
這篇的內容在感覺沒有什麼篇幅,如果有疑問或是有錯誤,還請各位大哥大姐提點。
後續會分別介紹 Selenium IDE、Selenium WebDriver 和 Selenium Grid。
小弟將繼續往下週邁進。 ─=≡Σ((( つ•̀ω•́)つ
Selenium 官方網站
網站自動化測試之美
Python爬虫利器五之Selenium的用法