最近在項目中做頁面自動化測試時,進行頁面跳轉時,發現了新彈出視窗大緻分為以下幾類
1.alert彈窗(包含以下三類alert、confirm、prompt對話框)
①定位到alert
python:driver.switch_to.alert
java: driver.switchTo().alert()
②點選接受
python:alert.accept()
java: alert.accept()
③點選拒絕
python:alert.dismiss()
java: alert.dismiss()
④擷取彈出框内容
python:alert.text
java: alert.getText()
⑤僅有prompt類型的可以使用
python:alert.send_keys()
java: sendKeys()
2.window視窗切換
java實作:
擷取目前視窗句柄getWindowHandle()
擷取所有視窗的句柄getWindowHandles()
切換到相應視窗switchTo().window(“視窗的句柄”)
python實作:
擷取目前視窗句柄
windowNow = driver.current_window_handle
獲得打開的所有的視窗句柄
windows = driver.window_handles
切換到最新的視窗
for current_window in windows:
if current_window != windowNow : driver.switch_to.window(current_window)
3.切換到頁面元素類型為iframe類型的
driver.switch_to.frame('iframeID')
Java實作:
driver.switchTo().frame("iframeID");
4.彈出窗還是div類型的(線程休眠等待頁面元素加載即可)
time.sleep()
thread.sleep()
以上是我目前遇到的視窗切換。不足之處請多多指教!