selenium測試框架

2021-10-09 20:23:05 字數 2265 閱讀 4407

什麼是框架?

框架(framework)是乙個框子——指其約束性,也是乙個架子——指其支撐性。是乙個基本概念上的結構,用於去解決或者處理複雜的問題。

框架是整個或部分系統的可重用設計,表現為一組抽象構件及構件例項間互動的方法;另一種定義認為,框架是可被應用開發者定製的應用骨架。前者是從應用方面而後者是從目的方面給出的定義。

框架,其實就是某種應用的半成品,就是一組元件,供你選用完成你自己的系統。簡單說就是使用別人搭好的舞台,你來做表演。

2.為什麼使用框架?

1)自己從頭實現太複雜

2)使用框架能夠更專注於業務邏輯,加快開發速度

3)框架的使用能夠處理更多細節問題

4)使用人數多,穩定性,擴充套件性好

1)python3.7

2)firefox35(大於43)

3)selenium2框架

穩定版 2.48.0 (pip install selenium=2.48.0)

4)瀏覽器驅動		

chrome

ie

1.2selenium ide

什麼是selenium-ide?

selenium的ide(整合開發環境)是乙個易於使用的firefox外掛程式,用於開發selenium測試案例。它提供了乙個圖形使用者介面,用於記錄使用firefox瀏覽器,用來學習和使用selenium使用者操作,但它只能用於只用firefox瀏覽器不支援其它瀏覽器。

1.環境安裝

firefox官網

1)庫的匯入

from selenium import webdriver

2)建立瀏覽器物件

driver = webdriver.***()

使用dir(driver)檢視方法

3)瀏覽器尺寸相關操作

maximize_window() 最大化

get_window_size() 獲取瀏覽器尺寸

set_window_size() 設定瀏覽器尺寸

get_window_position() 獲取瀏覽器位置

set_window_position(x,y) 設定瀏覽器位置

注:顯示器以左上角為(0,0),所有的位置操作都是相對於顯示器左上角展開的位移操作,單位是畫素。

4)瀏覽器的關閉操作

close() 關閉當前標籤/視窗

quit() 關閉所有標籤/視窗

driver.get(url) 請求某個url對應的響應

refresh() 重新整理頁面操作

back() 回退到之前的頁面

forward() 前進到之後的頁面

3.獲取斷言資訊

0)什麼是斷言?

斷言是程式設計術語,表示為一些布林表示式,程式設計師相信在程式中的某個特定點該表示式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言而在部署時禁用斷言。

1)獲取斷言資訊的操作

current_url 獲取當前訪問頁面url

title 獲取當前瀏覽器標題

get_screenshot_as_png() 儲存

get_screenshot_as_file(file) 直接儲存

page_source 網頁原始碼

4.元素的定位

1)元素定位方法的分類(呼叫方式):

1.直接呼叫型(推薦方式)

driver.find_element_by_***(value)

2.使用by型別(需要匯入by)

from selenium.webdriver.common.by import by

driver.find_element(by.***,value)

4.元素的定位

2)元素定位方法的分類(按定位方式):

selenium自動化 單元測試框架

單元測試框架 在自動化中,單元測試框架是管理測試用例的,控制測試用例的執行順序和次數 unittest 前置條件 setup 一般是開啟瀏覽器操作 後置條件 teardown 一般是關閉瀏覽器 原始碼 coding utf 8 from selenium import webdriver impor...

selenium自動化測試框架之PO設計模式

物件導向的特性 封裝 繼承 多型。在自動化中一樣適用,selenium自動化測試中有乙個名字常常被提及pageobject 思想與物件導向的特性相同 通過po模式可以大大提高測試用例的維護效率。傳統測試指令碼的弊端 測試指令碼分離,維護成本高 可擴充套件性差 復用性低等 pageobject設計模式...

selenium自動化測試框架之PO設計模式

物件導向的特性 封裝 繼承 多型。在自動化中一樣適用,selenium自動化測試中有乙個名字常常被提及pageobject 思想與物件導向的特性相同 通過po模式可以大大提高測試用例的維護效率。傳統測試指令碼的弊端 po的核心要素 在po模式中抽象封裝成乙個basepage類,該基類應該擁有乙個只實...