網站測試時解決彈出警告、上傳文件等對話框問題的詳細方法
在自動化測試中,彈出式窗口通常需要以不同於其他情況的方式進行處理。
執行自動化測試時,有時可能需要處理與正常測試對象不同的彈出對話框問題。本教程將向您介紹如何處理彈出式控制項。
什麼是彈出窗口?
彈出窗口是一個圖形顯示區域,通常以小窗口的形式出現(「彈出」)在當前界面的前台。
Pop-Ups有什麼問題?
彈出窗口的問題是:總是意外地出現。
除了您需要了解應用程序的行為並相應插入腳本來處理這種情況之外,沒有什麼方法可以解決這個問題。彈出窗口的另一個問題是,他們不是來自AUT,所以你需要用專門的關鍵字來處理它們。
以下是一些常用的彈出窗口,可能會導致Web自動化測試中出現問題:
新的瀏覽器窗口。
警報:通常使用警示框來確保信息傳遞給用戶。
Advertisements
自定義模式對話框:模式對話框是顯示在當前頁面頂部的對話框/彈出窗口。
本機窗口對話框。在測試上傳文件的情況下,此對話框很常見。
使用Katalon Studio處理彈出窗口的解決方案:
文檔:https://docs.katalon.com/display/KD/Getting+Started
要處理如上所述的彈出窗口,需要先使用Katalon Studio中的Object Spy功能捕獲它們。之後,您可以使用Katalon Studio的「 Switch to... 」關鍵字將焦點設置為指定的彈出窗口。
1.下圖顯示了如何使用「 Switch To Window Title (切換到窗口標題)」關鍵字來處理彈出窗口。
Advertisements
'Open browser and navigate to elated site(備註:打開瀏覽器並導航到指定網址)'
WebUI.openBrowser('http://www.elated.com/articles/javascript-tabs/')
'Maximize current browser window(備註:最大化當前窗口)'
WebUI.maximizeWindow()
'Click on \'Tweet\' button in iframe(備註:點擊iframe中的Tweet 按鈕')'
WebUI.click(findTestObject('Page_Elated/lnk_Tweet'))
'Switch to window that has title \'Share a link on Twitter\ (備註:切換到具有「'在Twitter上共享鏈接」標題的窗口)'
WebUI.switchToWindowTitle('Share a link on Twitter')
'Enter email (備註:鍵入Email地址)'
WebUI.setText(findTestObject('Page_Share a link on Twitter/txt_Twitter_Login_Email'), email)
'Enter password(備註:鍵入密碼)'
WebUI.setText(findTestObject('Page_Share a link on Twitter/txt_Twitter_Login_Password'), password)
'Verify Tweet message is displayed for successful login (備註:驗證Tweet信息是否成功顯示)'
WebUI.verifyTextPresent("Share a link with your followers",false)
WebUI.closeBrowser()
關鍵詞解釋
關鍵詞 | 描述 |
Switch To Window Title | 切換到給定標題所標識的窗口。 |
Switch To Window Index | 切換到由給定索引標識的窗口。 |
Switch To Window Url | 切換到由給定的URL標識的窗口。 |
2.如果要切換回默認窗口(父級),請使用「 Switch To Default Content (切換到默認內容)」 關鍵字。例如:
「打開瀏覽器並導航到有iframe的網站」
WebUI.openBrowser(GlobalVariable.G_SiteURL)
'切換到iframe'
WebUI.switchToWindowTitle(『Share a link on Twitter』)
「切換回默認內容」
WebUI.switchToDefaultContent()
'關閉瀏覽器'
WebUI.closeBrowser()
關鍵詞解釋
關鍵詞 | 描述 |
Switch To Default Content | 使用iFrame窗口后,切換回默認窗口。 |
3.為了處理Windows的本地對話,如上傳文件,用戶使用上傳文件關鍵字。例如:
'Open browser and navigate to a site that has upload control (備註:打開瀏覽器並導航到具有上傳控制項的網站)'
WebUI.openBrowser(『http://the-internet.herokuapp.com/upload』)
'Use Upload File keyword to deal with the dialog. Noted that the keyword will proceed to click on the Choose File button as specified (備註:使用上傳文件關鍵字來處理對話框。 注意,關鍵字將引導持續點擊選擇文件的按鈕)'
WebUI.uploadFile(findTestObject('choosefile_button'), 'D:\\test-photo.png')
'Close browser(備註:關閉瀏覽器)'
WebUI.closeBrowser()
- 關鍵字解釋
關鍵詞 | 描述 |
Upload File | 指定上傳對話框的文件。 |
解決瀏覽器的彈出窗口,你可以通過修改瀏覽器的Desired Capabilities以關閉顯示。
注意:
請注意,當要切換的窗口目標不存在時,將拋出NoSuchWindowException異常。