2009-12-11 120 views
1

我是新來的測試世界,所以我的問題可能看起來有些過於天真愚蠢。在看/聽起來很愚蠢的風險,我的問題是這樣的:使用Selenium彈出窗口的問題

我一直在試圖測試我公司的web應用程序彈出窗口中的內容。我已經想出了現在如何檢測彈出窗口,但是我無法讓硒在該彈出窗口的鏈接上單擊。在這個webapp中有多個彈出窗口,所以對於一個新手來說,創建一個測試用例確實很困難。

我嘗試點擊,clickAndWait,mouseDown和mouseKey作爲選項,但它仍然無法正常工作。有人可以通過這個指導我嗎?

TIA, 安吉拉

回答

0

或許你可以嘗試Firefox的插件。您可以點擊您的應用程序並記錄您的步驟。記錄完這些步驟後,您可以輕鬆將其保存爲某種文件或單元測試。

我不確定你應該使用哪個彈出窗口的命令,也許firefox插件會以這種方式提供幫助(它會創建你的命令)。

2

當彈出窗口出現時,您需要將腳本的上下文移動到窗口中。

您可以通過使用selectWindow | window_ID_from_the_link然後點擊執行此操作。

如果這不起作用,您可能需要使用openWindow命令來創建彈出窗口,然後開始測試。

0

如果您創建了帶有div標籤的彈出窗口,U可以使用以下代碼停止硒服務器,直到彈出窗口打開。

int second = 0; 
while(!selenium.IsElementPresent(mylink)) 
{ 
if(second >= 5) 
    break; 
Thread.Sleep(1000); 
second++; 
} 

彈出窗口打開後,現在您可以點擊彈出窗口中的任何鏈接。您必須使用下面的代碼。

selenium.click("id=popup_link"); (popup_link is the id of the link present on the popup) 

好運。

0

不知道這是不是你要找的東西,但是如果你想點擊Selenium無法處理的東西 - 比如瀏覽器彈出窗口或其他彈出窗口,你可以使用Sikuli Script。 Sikuli進行圖像比較並點擊相同 - 這是非常強大的。

這裏是鏈接:http://www.sikuli.org/

1

使用getConfirmation/getassert /信息getPrompt根據類型彈出您使用的.....默認情況下,他們將被服務器點擊OK鍵選項,你必須從彈出消息的消息,爲其他硒命令正常工作............. 以上建議是從我的經驗中使用與RC使用的Perl的經驗... ......