錄製功能主要由 chrome extension 和 node process 兩部分組成:
chrome extension 會對當前瀏覽器進行全域性事件監聽,當觸發某個事件(比如 click)時,即獲取當前操作元素的節點資訊,同時通過 websocket 傳送指令(開始錄製、錄製、結束錄製)、資料(事件型別、節點資訊)至 node process。
node process 接收到 chrome extension 的請求指令、資料,將其記錄在乙個陣列中,當 chrome extension 發起結束錄製指令時,結合記錄佇列和配置的指令碼模版,生成測試用例指令碼至指定目錄(如sample/test.spec.js
)。
uirecorder 的錄製功能基於事件驅動,預設觸發某個事件的操作行為,都作為有效操作記錄下來。記錄一系列的操作行為,即記錄一系列的事件行為。
uirecorder 事件操作的元素資訊,基於 dom 進行定位,uirecorder 主要選擇 css selector 的方式進行定位,捕獲元素資訊主要包括標籤(tag)、屬性(attribute)、文字內容(text)、值(value)。
websocket 是一種網路傳輸協議,可在單個 tcp 連線上進行全雙工通訊。uirecorder 主要利用 websocket 實現 chrome extension 與 node process 的通訊,chrome extension 將錄製過程的相關指令、資料(事件型別、節點資訊)傳輸至 node process。
chrome extension 會向 node process 傳送指令、資料。指令主要包括開始錄製、錄製、結束錄製:開始錄製時,node process 會初始化乙個陣列;錄製過程中,將資料(事件型別、元素資訊)push 至陣列中;結束錄製時,將陣列與定義好的指令碼模版結合,生成測試用例指令碼。
其中,不同事件型別會配置不同指令碼模版,結合元素資訊及指令碼模版,即可生成該操作行為對應的回歸指令碼**。
node.js http 模組:node.js fs 模組:
dom:
UI Recorder 自動化測試 錄製(三)
開啟 terminal,新建乙個工程目錄 for example cd documents mkdir uirecorder test cd uirecorder test 初始化 uirecorder 工程 uirecorder init 預設設定的話,一路回車就可以 初始化後,會生成乙個目錄結構...
自動化測試 web自動化測試
自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...
測試自動化 自動化測試的定義
相關術語 automated testing test tool,automated testing test suite,automated testing test script等.具體參見 http en.wikipedia.org wiki test automation 推薦書籍 1 軟體...