標籤:

Selenium自動化測試(二)alert及iframe的處理

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:自動化測試 |