Web應用程式的驗收測驗常常涉及一些手工任務,例如打開一個瀏覽器,并執行一個測驗用例中所描述的操作,但是手工執行的任務容易出現操作人員人為的錯誤,花費的時間成本也比較多,因此,將這些任務自動化,就可以消除人為因素,Selenium可以幫助我們自動完成驗收測驗,通過構建更嚴格的測驗,從而使軟體更為可靠也更易于維護,
Selenium 測驗框架及用例撰寫
Selenium是什么?
Selenium 是用于測驗 Web 應用程式用戶界面 (UI) 的常用框架,它是一款用于運行端到端功能測驗的超強工具,您可以使用多個編程語言撰寫測驗,并且 Selenium 是能夠在一個或多個瀏覽器中執行這些測驗,
撰寫代碼使用 client的 api 然后client和Selenium溝通如何操作,之后selenium通過瀏覽器driver操作瀏覽器執行各種動作,
目前最新的版本是Selenium 3,Selenium 核心組件包括:
- Selenium WebDriver
- Selenium IDE
- Selenium Grid
Selenium 源代碼:
https://github.com/SeleniumHQ/selenium,[Selenium Client Driver]
(https://seleniumhq.github.io/selenium/docs/api/py/):
Selenium WebDriver的Python語言實作,
參考:Selenium with Python
1.安裝瀏覽器:Firefox、Chrome
2.下載瀏覽器Driver:
3.GeckoDriver(Firefox)、ChromeDriver(Chrome),WebDriver版本需要和瀏覽器的版本保持一致,
4.安裝Selenium Client Driver:
pip install selenium
測驗用例是為了實施測驗而向被測驗的系統提供的一組集合,這組集合包含:測驗環境、操作步驟、測驗資料、預期結果等,
注意:一條測驗用例的最終結果只有一個:成功或者失敗,
三大核心要素為 :標題 、步驟 、預期結果
- 標題:是對測驗用例的描述,標題應該清楚的表達測驗用例的用例
- 步驟:對測驗執行程序進行描述
- 預期結果:提供測驗執行的預期結果,預期結果一般是根據需求得出,如果實際結果和預期結果一致則測驗通過,反之失敗,
首先是在代碼的最上面匯入了 Selenium 的包,其次是測驗方法命名、測驗步驟、斷言,
from selenium import webdriver
def test_search(): # 測驗的標題即 test_search
driver = webdriver.Chrome()
driver.get('https://www.baidu.com') # 測驗的步驟
search = driver.find_element_by_id('su').get_attribute('value') #
assert search == "百度" # 斷言預期結果
安裝完成后,通過在瀏覽器的選單欄中點擊圖示啟動,

第一步:創建新專案后,取名為 hogwarts_demo1,
第二步:然后需要填寫 URL(要錄制測驗腳本的網站 URL),這里使用的是 https://ceshiren.com/,
第三步:完成設定后,將打開一個新的瀏覽器視窗,加載 URL 并開始錄制腳本,在頁面上的操作都將記錄在 IDE 中,操作完成后,切換到 IDE 視窗并單擊停止錄制按鈕,
第四步:停止后,為剛錄制的測驗用例取名ceshiren_demo1
匯出用例分析
利用 Selenium IDE 匯出 pytest 格式代碼,
匯出用例代碼如下:
#注釋是由 Selenium IDE 生成的代碼
# Generated by Selenium IDE
#匯入可能用到的依賴
import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By
class TestDemo():
#setup_module()只會在開始測驗運行一次
def setup_method(self, method):
#初始化webdriver
self.driver = webdriver.Chrome()
self.vars = {}
#teardown_module()只會在結束測驗運行一次
def teardown_method(self, method):
#關閉瀏覽器并關閉啟動 ChromeDriver 時啟動的 ChromeDriver 可執行檔案
self.driver.quit()
#測驗方法
def test_demo(self):
#訪問網址
self.driver.get("https://ceshiren.com/")
#設定視窗大小
self.driver.set_window_size(1473, 866)
#點擊操作
self.driver.find_element(By.LINK_TEXT, "所有分類").click()
self.driver.find_element(By.CSS_SELECTOR, "#ember201 .category-name").click()
#關閉當前視窗
self.driver.close()
這段代碼就簡單的實作了對瀏覽器簡單的自動化
喜歡軟體測驗的小伙伴們,如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦,更多技術文章
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/489784.html
標籤:其他
