什麼是框架?
框架(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類,該基類應該擁有乙個只實...