2012-04-23 57 views
0

我有一個測試形式的Web服務:如何使用Selenium IDE來驗證Web服務測試的形式響應

enter image description here

我要測試的Web服務和驗證響應,但響應在新打開窗口。有什麼方法可以使用Selenium IDE檢查新打開的窗口中的輸出嗎?

更新:web服務測試表單執行POST,target =「_ blank」這會導致響應被加載到Firefox中的新選項卡中。來自webservice的響應是一個xml文檔,所以許多依賴於HTML文檔的標準Selenium IDE命令將不起作用。我找到了assertTextPresentXML擴展名,但我無法選擇新打開的選項卡,因爲它沒有我可以訪問的名稱,標識或標題。

回答

2

可以使用selectWindow命令並指定新打開的窗口的標題(如果此標題從初始窗口不同):

selectWindow | title=New window title 

名稱可以從HTML>頭>標題進行檢索。如果不工作,你可以嘗試這樣的事情:

getEval | selenium.browserbot.findElement('locator_of_invoke_button').target='my_window' 
getEval | window.open("", "my_window") 
click | locator_of_invoke_button 
selectWindow | my_window 
waitForElementPresent | locator_of_element_at_new_window 
+0

感謝ALEH,這是一個Web服務請求和響應是一個XML文檔,所以沒有標題。另外,測試表單會執行一個帶有** target =「_ blank」**的POST。 – 2012-04-24 00:25:39

+0

@DavidClarke - 你可以指定** target =「my_window」**而不是_blank,其中'my_window'是你給新窗口的名字。請嘗試我的第二個建議 – 2012-04-24 00:51:08

+0

實際上不是,表單由webservice生成,無法修改。我能想到的唯一解決方案是創建一個HTML文件,封裝生成的表單並將其更新爲在同一頁面中的新框架中打開響應。 – 2012-04-24 01:01:22