偷懒大法好,用 selenium 做 web 端自动化测试
自動化入門介紹
實驗介紹
本次實驗主要介紹什么是自動化測試和自動化測試工具 selenium。然后介紹怎么安裝瀏覽器驅(qū)動工具 webdriver,并且開發(fā)一個簡單的自動化測試腳本,體會自動化測試是怎么實現(xiàn)的。
知識點
- 自動化測試介紹
- selenium 介紹
- webdriver 安裝
- 第一個腳本開發(fā)
自動化測試概念
自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的一種過程。其實質(zhì)是寫腳本或使用工具測試程序。
自動化測試分類
自動化測試是使用各種工具或程序代替人工測試的一種行為。只要是解除人工操作的測試都可以稱為自動化測試,細分又有好多種類,下面簡單列舉一些。
- Web UI 自動化測試。
- API 自動化測試。
- 性能自動化測試。
- 單元測試。
- Windows 窗體 UI 自動化測試。
本系列實驗以 Python Web UI 自動化測試為主,為了方便起見以后直接簡稱自動化測試。
怎么學習自動化測試
寫好自動化測試的前提是有夯實的手工測試基礎(chǔ),學習自動化測試的基本路線大致如下:
學完以上七點,便可在項目中進行自動化測試。
本系列實驗將會以 Python3 + Selenium 為基礎(chǔ)進行展開。
什么樣的項目適合自動化測試
對項目進行自動化測試之前要了解項目是否適合做自動化測試。業(yè)界普遍從三個方面進行考慮。
自動化測試只適用比較穩(wěn)定的系統(tǒng)或系統(tǒng)中的部分功能模塊。如果需求變更過于頻繁則自動化測試的腳步維護也就比較大,進而成本也會加大,從而消耗更多的資源,是不劃算的。
開發(fā)自動化測試腳本是需要時間的。如果項目周期比較短,下一個版本已經(jīng)開始了,對某些模塊有了新的變動,而正在進行的自動化測試開發(fā)將會變得毫無意義。
測試腳本的開發(fā)需要根據(jù)被測系統(tǒng)而考慮,如果被測系統(tǒng)架構(gòu)不完善則測試工具和測試技術(shù)很難應對,一旦測試人員的能力不是很好,則設(shè)計出來的測試框架、寫出來的測試腳本在應對性上也很差。由此便造成自動測試產(chǎn)生的價值沒有手工測試來的直接。
selenium 是什么
Selenium 是一個用于 Web 系統(tǒng)自動化測試的工具集,現(xiàn)在所說的 Selenium 通常是指 Selenium Suite,其包含 Selenium IDE、Selenium WebDriver 和 Selenium Grid 三部分。
- Selenium IDE:是一個 Firefox 插件,可以根據(jù)用戶的基本操作自動錄制腳本,然后在瀏覽器中進行回放。
- Selenium WebDriver:WebDriver 的前身是 Selenium RC,其可以直接給瀏覽器發(fā)送命令模擬用戶的操作。Selenium RC 為 WebDriver 的核心部分,它可以使用編程語言如 Java、C#、PHP、Python、Ruby 和 Perld 的強大功能來創(chuàng)建更復雜的測試。Selenium RC 分為 ClientLibraries(編寫測試腳本)和 Selenium Server(控制瀏覽器行為)兩部分。
- Selenium Grid:是一個用于運行在不同的機器、不同的瀏覽器并行測試的工具,用于加快測試用例的運行速度。
安裝瀏覽器驅(qū)動
WebDriver 是 Selenium Tool 套件中最重要的組件,其就像一個媒介,用腳本驅(qū)動 WebDriver,WebDriver 再去控制瀏覽器,從而實現(xiàn)腳本對瀏覽器的操作。
只有安裝了瀏覽器驅(qū)動才能使用 Selenium 發(fā)送指令模擬人類行為操作瀏覽器。不同的瀏覽器需要安裝各自的驅(qū)動,接下來以 Chrome 瀏覽器為例安裝 chromedriver.exe。
由于安裝的 chromedriver.exe 版本需要和 Chrome 瀏覽器版本匹配,所以我們需要知道 Chrome 的版本。從 Chrome 瀏覽器右上角的菜單中依次選擇【幫助(E)】、【關(guān)于 Google Chrome(G)】,查看瀏覽器的版本。
進入 chromedriver 下載地址下載 https://chromedriver.storage.googleapis.com/index.html 或使用淘寶鏡像地址下載 https://npm.taobao.org/mirrors/chromedriver/ ,進入后選擇對應的版本號。
然后根據(jù)自己的系統(tǒng)選擇對應的 zip 文件進行下載。如實驗的系統(tǒng)是 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 在執(zhí)行時可以找到 chromedriver。 使用命令 sudo cp -r /home/shiyanlou/Code/chromedriver /usr/bin/。
不同的瀏覽器需要是使用不同的驅(qū)動,下面列出 FireFox 和 IE 瀏覽器驅(qū)動的下載地址。
-
Firefox 瀏覽器驅(qū)動的下載網(wǎng)址:https://github.com/mozilla/geckodriver/releases/ 。
-
IE 瀏覽器驅(qū)動下載:http://www.nuget.org/packages/Selenium.WebDriver.IEDriver/ 。
開發(fā)第一個自動化測試腳本
打開 Xfce 終端,依次輸入下面命令,先安裝 Python3 安裝第三方庫的程序 pip,安裝完成后對 pip 進行升級,然后安裝 selenium 庫。
sudo apt install python3-pip sudo pip3 install --upgrade pip pip3 install selenium繼續(xù)輸入下面命令,進入到 python 環(huán)境中,然后導入 webdriver。
python3 from selenium import webdriver輸入 driver = webdriver.Chrome() 啟動 Chrome 瀏覽器。
輸入 driver.get("https://www.shiyanlou.com/") 后在瀏覽器中打開實驗樓首頁。
輸入 driver.close() 關(guān)閉瀏覽器。
在命令行中體驗了怎么運行,現(xiàn)在將上面的步驟寫成 py 文件。
在 /home/shiyanlou/Code/ 目錄下新建 myfirst_project.py 文件。
在 myfirst_project.py 中編輯代碼,操作瀏覽器打開實驗樓首頁,然后關(guān)閉瀏覽器。
from selenium import webdriverdriver = webdriver.Chrome() driver.get("https://www.shiyanlou.com/") driver.close()然后打開 Xfce 終端,輸入下面命令運行 myfirst_project.py 腳本。
python3 /home/shiyanlou/Code/myfirst_project.py命令執(zhí)行后腳本會驅(qū)動 webdriver 打開 Chrome 瀏覽器,然后訪問實驗樓首頁,最后關(guān)閉瀏覽器。
實驗總結(jié)
實驗知識點回顧:
- 自動化測試介紹
- selenium 介紹
- webdriver 安裝
- 第一個腳本開發(fā)
本次實驗主要是一些概念性內(nèi)容,在做完本實驗后對自動化測試有一個基本的認識,了解到本系列實驗展開的方向。并且實際動手進行了一次自動化測試腳本開發(fā),體會到自動化測試運行的過程。
以上內(nèi)容來自課程《Python Web 自動化測試入門實戰(zhàn)》,課程后續(xù)你將學到:
點擊《Python Web 自動化測試入門實戰(zhàn)》,學習完整課程內(nèi)容!
總結(jié)
以上是生活随笔為你收集整理的偷懒大法好,用 selenium 做 web 端自动化测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 要学好 C 语言 / C++ ,Make
- 下一篇: 运维太忙?那是你还没掌握 Ansible