自動化入門介紹
實驗介紹
本次實驗主要介紹什麼是自動化測試和自動化測試工具 selenium。然後介紹怎麼安裝浏覽器驅動工具 webdriver,并且開發一個簡單的自動化測試腳本,體會自動化測試是怎麼實作的。
知識點
- 自動化測試介紹
- selenium 介紹
- webdriver 安裝
- 第一個腳本開發
自動化測試概念
自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。其實質是寫腳本或使用工具測試程式。
自動化測試分類
自動化測試是使用各種工具或程式代替人工測試的一種行為。隻要是解除人工操作的測試都可以稱為自動化測試,細分又有好多種類,下面簡單列舉一些。
- Web UI 自動化測試。
- API 自動化測試。
- 性能自動化測試。
- 單元測試。
- Windows 窗體 UI 自動化測試。
本系列實驗以 Python Web UI 自動化測試為主,為了友善起見以後直接簡稱自動化測試。
怎麼學習自動化測試
寫好自動化測試的前提是有夯實的手工測試基礎,學習自動化測試的基本路線大緻如下:
- 做好手工功能測試(包括測試理論知識,涉及的工具使用等)。
- 學習前端基本知識(HTML、CSS、JavaScript)。
- 掌握一門程式設計語言(例如 Python、Java)。
- 精通自動化測試工具(目前最流行的為 Selenium)。
- 精通自動化測試架構(UnitTest、Pytest)。
- 熟悉自動化測試模型(線性模型、子產品化驅動、資料驅動、關鍵字驅動、行為驅動)。
- 熟悉內建工具(例如 Jenkins)。
學完以上七點,便可在項目中進行自動化測試。
本系列實驗将會以 Python3 + Selenium 為基礎進行展開。
什麼樣的項目适合自動化測試
對項目進行自動化測試之前要了解項目是否适合做自動化測試。業界普遍從三個方面進行考慮。
- 需求穩定,變更不會太頻繁。
自動化測試隻适用比較穩定的系統或系統中的部分功能子產品。如果需求變更過于頻繁則自動化測試的腳步維護也就比較大,進而成本也會加大,進而消耗更多的資源,是不劃算的。
- 維護周期長,具有生命力。
開發自動化測試腳本是需要時間的。如果項目周期比較短,下一個版本已經開始了,對某些子產品有了新的變動,而正在進行的自動化測試開發将會變得毫無意義。
- 被測系統開發規範,可測性強。
測試腳本的開發需要根據被測系統而考慮,如果被測系統架構不完善則測試工具和測試技術很難應對,一旦測試人員的能力不是很好,則設計出來的測試架構、寫出來的測試腳本在應對性上也很差。由此便造成自動測試産生的價值沒有手工測試來的直接。
selenium 是什麼
Selenium 是一個用于 Web 系統自動化測試的工具集,現在所說的 Selenium 通常是指 Selenium Suite,其包含 Selenium IDE、Selenium WebDriver 和 Selenium Grid 三部分。
- Selenium IDE:是一個 Firefox 插件,可以根據使用者的基本操作自動錄制腳本,然後在浏覽器中進行回放。
- Selenium WebDriver:WebDriver 的前身是 Selenium RC,其可以直接給浏覽器發送指令模拟使用者的操作。Selenium RC 為 WebDriver 的核心部分,它可以使用程式設計語言如 Java、C#、PHP、Python、Ruby 和 Perld 的強大功能來建立更複雜的測試。Selenium RC 分為 ClientLibraries(編寫測試腳本)和 Selenium Server(控制浏覽器行為)兩部分。
- Selenium Grid:是一個用于運作在不同的機器、不同的浏覽器并行測試的工具,用于加快測試用例的運作速度。
安裝浏覽器驅動
WebDriver 是 Selenium Tool 套件中最重要的元件,其就像一個媒介,用腳本驅動 WebDriver,WebDriver 再去控制浏覽器,進而實作腳本對浏覽器的操作。
隻有安裝了浏覽器驅動才能使用 Selenium 發送指令模拟人類行為操作浏覽器。不同的浏覽器需要安裝各自的驅動,接下來以 Chrome 浏覽器為例安裝 chromedriver.exe。
- 檢視 Chrome 版本。
由于安裝的 chromedriver.exe 版本需要和 Chrome 浏覽器版本比對,是以我們需要知道 Chrome 的版本。從 Chrome 浏覽器右上角的菜單中依次選擇【幫助(E)】、【關于 Google Chrome(G)】,檢視浏覽器的版本。
- 下載下傳 chromedriver。
進入 chromedriver 下載下傳位址下載下傳 https://chromedriver.storage.googleapis.com/index.html 或使用淘寶鏡像位址下載下傳 https://npm.taobao.org/mirrors/chromedriver/ ,進入後選擇對應的版本号。
然後根據自己的系統選擇對應的 zip 檔案進行下載下傳。如實驗的系統是 Linux 則下載下傳 chromedriver_linux64.zip,并将其儲存在
/home/shiyanlou/Code/
下。
下載下傳後通過 cd 指令進入到
/home/shiyanlou/Code/
目錄中,使用指令
unzip chromedriver_linux64.zip
進行解壓。
3. 将 chromedriver 移至 python 所在目錄下。
将 chromedriver 移動至 Python 編輯器所在的目錄
/usr/bin/
下,使 chromedriver 與 python 處于同一目錄下,這樣做的目的是便于 Python 在執行時可以找到 chromedriver。 使用指令
sudo cp -r /home/shiyanlou/Code/chromedriver /usr/bin/
。
不同的浏覽器需要是使用不同的驅動,下面列出 FireFox 和 IE 浏覽器驅動的下載下傳位址。
- Firefox 浏覽器驅動的下載下傳網址:https://github.com/mozilla/geckodriver/releases/ 。
- IE 浏覽器驅動下載下傳:http://www.nuget.org/packages/Selenium.WebDriver.IEDriver/ 。
開發第一個自動化測試腳本
打開 Xfce 終端,依次輸入下面指令,先安裝 Python3 安裝第三方庫的程式 pip,安裝完成後對 pip 進行更新,然後安裝 selenium 庫。
sudo apt install python3-pip
sudo pip3 install --upgrade pip
pip3 install selenium
繼續輸入下面指令,進入到 python 環境中,然後導入 webdriver。
python3
from selenium import webdriver
輸入
driver = webdriver.Chrome()
啟動 Chrome 浏覽器。
driver.get("https://www.shiyanlou.com/")
後在浏覽器中打開實驗樓首頁。
driver.close()
關閉浏覽器。
在指令行中體驗了怎麼運作,現在将上面的步驟寫成 py 檔案。
在
/home/shiyanlou/Code/
目錄下建立
myfirst_project.py
檔案。
myfirst_project.py
中編輯代碼,操作浏覽器打開實驗樓首頁,然後關閉浏覽器。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.shiyanlou.com/")
driver.close()
然後打開 Xfce 終端,輸入下面指令運作
myfirst_project.py
腳本。
python3 /home/shiyanlou/Code/myfirst_project.py
指令執行後腳本會驅動 webdriver 打開 Chrome 浏覽器,然後通路實驗樓首頁,最後關閉浏覽器。
實驗總結
實驗知識點回顧:
本次實驗主要是一些概念性内容,在做完本實驗後對自動化測試有一個基本的認識,了解到本系列實驗展開的方向。并且實際動手進行了一次自動化測試腳本開發,體會到自動化測試運作的過程。
以上内容來自課程《Python Web 自動化測試入門實戰》,課程後續你将學到:
點選《Python Web 自動化測試入門實戰》,學習完整課程内容!
本課程由《Python Web 自動化測試入門與實戰》中部分内容改編而成。從自動化入門、元素的基礎操作、常用方法的使用等基礎知識開始,到單元測試架構 UnitTest 和測試模型的介紹,最後使用 PO 模型結合實驗樓網站的幾個功能進行項目實戰。課程結合工具 Jenkins 進行持續建構,是一個完整的自動化測試體系。
課程中提供詳細的步驟和豐富的截圖進行展示,内容編排循序漸進,在實驗中理論與實踐同步進行,盡可能的使學習者掌握所學知識并且熟練運用。
通過學習本課程都能夠快速進入 Web 自動化測試領域,對 Web 自動化測試有一個清晰地了解,并且具備承擔 Web 自動化測試開發的能力。
發送郵件 [email protected] 聯系筆者擷取邀請碼,可享受九折優惠。