天天看點

day05_frame切換、多視窗切換丶視窗截圖丶驗證碼處理丶檔案上傳

frame:HTML頁面中的一種架構,主要作用是在目前頁面中指定區域顯示另一頁面元素

day05_frame切換、多視窗切換丶視窗截圖丶驗證碼處理丶檔案上傳

當我們需要操作嵌入在目前頁面的另一頁面的元素時候就要使用frame切換了

day05_frame切換、多視窗切換丶視窗截圖丶驗證碼處理丶檔案上傳

代碼示例

針對同一層級的frame,如果要進行切換的話,需要切回到預設首頁

針對所要進入的frame, 有多少個層級,就需要切換幾次

不管目前在哪個層級,如果要回到預設首頁,隻需要調用一次回到預設首頁的方法(driver.switch_to.default_content())

在HTML頁面中,當點選超連結或者按鈕時,有的會在新的視窗打開頁面。要操作信的視窗就必須使用視窗切換了。在Selenium中封裝了擷取目前視窗句柄、擷取所有視窗句柄和切換到指定句柄視窗的方法。句柄:英文handle,視窗的唯一識别碼 

driver.current_window_handle --> 擷取目前視窗句柄 

driver.window_handles --> 擷取所有視窗句柄

driver.switch_to.window(handle) --> 切換指定句柄視窗 

自動化腳本是由程式去執行的,是以有時候列印的錯誤資訊并不是十分明确。如果在執行出錯的時候對目前視窗截圖儲存,那麼通過圖檔就可以非常直覺地看到出錯的原因。

driver.get_screenshot_as_file(圖檔儲存路徑) 

截圖的檔案名必須是以PNG結尾

圖檔儲存路徑中的檔案目錄必須手動建立

驗證碼:一種随機生成的資訊(數字、字母、漢字、圖檔、算術題)等為了防止惡意的請求行為,增加應用的安全性。在Web應用中,大部分系統在使用者登入注冊的時候都要求輸入驗證碼,而我們在設計自動化測試腳本的時候,就需要面臨處理驗證碼的問題。

去掉驗證碼 由開發操作 , 用在測試環境

設定萬能驗證碼 由開發 操作, 一般也隻使用在測試環境,

驗證碼識别技術 由于技術難度高,識别率很難達到100%, 一般不建議使用

記錄COOKIE 通過記錄cookie來跳過登陸的操作。

day05_frame切換、多視窗切換丶視窗截圖丶驗證碼處理丶檔案上傳
day05_frame切換、多視窗切換丶視窗截圖丶驗證碼處理丶檔案上傳

可以問開發同學

針對登陸的前後的cookie進行對比,比登陸之前多的cookie都可以用來使用控制使用者權限。

手動登陸之後不能退出,退出之後就相當于cookie無效了。

通過python代碼編寫一個生成手機号碼的函數 (會生成比較多的垃圾資料)

在注冊之前,備份一處資料庫(備份隻需要做一次),執行注冊的用例,每次執先完用例之後,再去恢複資料庫

通過python腳本直接在資料庫删除新注的使用者(要熟悉底層的資料庫業務,要知道注冊使用者是存在哪些表中)

day05_frame切換、多視窗切換丶視窗截圖丶驗證碼處理丶檔案上傳

繼續閱讀