2013-03-07 98 views
1

我正在使用Selenium IDE進行一些測試。但幾乎沒有一個動作卡住 - 我需要關閉FF下載彈出窗口。用Selenium IDE關閉彈出框架

執行此操作的常用方法是使用selectWindow命令,但是 - 我彈出 - 它實際上是一個框架,所以它沒有ID和IDE的其他有用參數。

我所有試圖關閉此彈出窗口都會導致關閉主窗口。 我想這樣的事情,但沒有工作,要麼:

<tr> 
    <td>click</td> 
    <td>css=#fpm &gt; img</td> 
    <td></td> 
</tr> 
<tr> 
    <td>waitForFrameToLoad</td> 
    <td>http://www.somesite.com/lg/c.do?proj=1111&amp;aid=1111&amp;rnd=0.132456</td> 
    <td></td> 
</tr> 
<tr> 
    <td>pause</td> 
    <td>5000</td> 
    <td></td> 
</tr> 
<tr> 
    <td>close</td> 
    <td></td> 
    <td></td> 
</tr> 
<tr> 

是任何人在過去面對這個問題?我知道,這個JS可以使用,但我沒有任何線索如何。你能建議嗎?

+0

最後,我找到了一種方法。有點棘手,但它的工作原理。 – Nick 2013-03-12 18:18:50

回答

0

最後,我找到了一種方法... 有點棘手,但它的工作原理。所以,這是一個IDE錯誤,IDE無法識別打開的「_blank」窗口。這是解決方法:

<tr> 
    <td>storeAttribute</td> 
    <td>//a[@'Here you can use id/class/href/rel link, etc, for ex: @rel='Register']/@href</td> 
    <td>href</td> 
</tr> 
<tr> 
    <td>openWindow</td> 
    <td>${href}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>pause</td> 
    <td>2000</td> 
    <td></td> 
</tr> 
<tr> 
    <td>storeEval</td> 
    <td>selenium.getAllWindowNames()[1];</td> -- [1] - window to select from array of window names, 0 - it's a main, 1 - 1st opened pop up, 2 - 2nd, etc. 
    <td>windowName</td> 
</tr> 
<tr> 
    <td>pause</td> 
    <td>2000</td> 
    <td></td> 
</tr> 
<tr> 
    <td>selectWindow</td> 
    <td>${windowName}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>verifyElementPresent</td> 
    <td>Verify something here</td> 
    <td></td> 
</tr> 
<tr> 
    <td>close</td> -- close pop up 
    <td></td> 
    <td></td> 
</tr> 
<tr> 
    <td>selectWindow</td> -- return to main window 
    <td>null</td> 
    <td></td> 
</tr>