Selenium自動化測試(二)alert及iframe的處理
來自專欄 python自動化測試java自動化測試
很多時候,我們在寫自動化腳本時,會發現有一些彈窗口或者iframe無法進行處理,其實怎樣處理也很簡單,今天我就給他大家寫一下!
1、 alert
例如此圖中的確定,取消按鈕就是alert,如何進行確定或者取消呢?或者更有甚者想拿到alert上的文字或者有的alert還支持輸入。
driver.switch_to_alert().accept()接受告警框
driver.switch_to_alert().dismiss()解散現在告警框
driver.switch_to_alert().text() 返回告警框的文字
driver.switch_to_alert().send_keys(keysToSend) 發送文本至告警框
這些就可以很簡單的這樣處理掉。
2、iframe處理
例如我們想定位上圖中的登錄,其實發現他在iframe下的iframe下的body中,其實iframe類似嵌套了html,我們無法直接去通過id、xpath等定位到的,需要進入iframe下的iframe去定位。
一般iframe有幾種處理方式:
1、如果iframe有id或者name我們可以直接driver.switch_to.frame(****)。括弧裡邊就是寫具體的id或者name對應的值。
2、沒有id、name我們可以driver.switch_to.frame(driver.find_element_by_class_name(ddd)) # 切入
通過classname、xpath、css等進行切入
3、也可以通過索引,
driver.switch_to.frame(0)這個索引是針對當前的iframe的。
然後上邊截圖中的就很簡單吶了,我們只需要先進入iframe,然後再進入他下的iframe,然後再執行我們的查找定位方式就可以定位到。
最後我們可以通過driver.switch_to.default_content()返回到默認的iframe。
是不是很簡單呢???
推薦閱讀:
※Vue2.0 自動化測試(沒有腳手架)
※性能測試之gatling詳解
※Selenium Page Object 自動化測試框架-Page Object設計
※Krion眼中的2017測試行業發展趨勢
※Selenium Page Object 自動化測試框架-common設計
TAG:自動化測試 |