2016-12-06 56 views
1

如何關注Selenium IDE中新打開的窗口?Selenium IDE中的切換選項卡

我點擊一個鏈接,一個新的標籤會打開。不過,我無法將重點轉移到新窗口。我試過this other SO answer,但它仍然不起作用。

這裏是我已經試過代碼:

<tr> 
    <td>storeEval</td> 
    <td>selenium.getAllWindowTitles()[0]</td> 
    <td>windowName</td> 
</tr> 
<tr> 
    <td>getEval</td> 
    <td>this.doEcho(&quot;array length: &quot;+selenium.getAllWindowNames().length);this.doEcho(&quot;Available window names: &quot;+selenium.getAllWindowNames());this.doEcho(&quot;Selecting window: &quot;+storedVars['windowName']);this.doEcho(&quot;Available window Titles: &quot;+selenium.getAllWindowTitles());</td> 
    <td></td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>${windowName}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>selectWindow</td> 
    <td>title=${windowName}</td> 
    <td></td> 
</tr> 

該代碼使用的是當前選項卡,而不是新的標籤,並在呼應正在打印當前選項卡的標題,因此當前選項卡中再次聚焦。當我在第一行的數組參數(selenium.getAllWindowTitles()[1])中使用1而不是0時,它正在打印null

我也嘗試用名稱而不是標題,但它仍然無法正常工作。

+0

我沒有時間去查找細節,但我想說selectWindow功能正在出現一個錯誤。儘管這看起來更像是getAllWindowTitles的問題。對不起,我不能幫助更多,我看了,找不到它。 – DMart

回答

1

您是否嘗試在selectWindow之前添加命令waitForPopUp

這是我的代碼看起來像我的測試情況下,當我試圖讓selectWindow指揮工作:

<tr> 
    <td>click</td> 
    <td>link=Named window by hyperlink</td> 
    <td></td> 
</tr> 
<tr> 
    <td>waitForPopUp</td> 
    <td></td> 
    <td>30000</td> 
</tr> 
<tr> 
    <td>selectWindow</td> 
    <td>name=namedWindowByHyperlink1</td> 
    <td></td> 
</tr> 
<tr> 
    <td>click</td> 
    <td>link=Named window by hyperlink</td> 
    <td></td> 
</tr> 
<tr> 
    <td>waitForPopUp</td> 
    <td></td> 
    <td>30000</td> 
</tr> 
<tr> 
    <td>selectWindow</td> 
    <td>name=namedWindowByHyperlink2</td> 
    <td></td> 
</tr> 
<tr> 
    <td>verifyText</td> 
    <td>css=p</td> 
    <td>Test was completed.</td> 
</tr> 

當我用這個代碼,我可以通過測試的情況下,當我試圖專注於新窗戶。

希望它能幫助你。

如果需要,請嘗試使用Selenium IDE的擴展版本工具SideeX。 SideeX現在被用作'The Next Generation' of Selenium IDE的基礎。

我對這個工具中的窗口和框架問題有一些新的想法,以使測試案例工作。

0

我有一個類似的問題,在測試環境中,所有的窗口基本上都分配了相同的名稱。每當我測試一項功能,打開一個新的標籤,我只是用

selectWindow新

,我做測試該頁面時,

closeWindow關閉新的選項卡,然後

selectWindow用NULL或無參數返回主窗口。