2016-12-06 4 views
1

Wie kann ich auf ein neu geöffnetes Fenster in Selenium IDE konzentrieren?Switching Registerkarte in Selenium IDE

Ich klicke auf einen Link und ein neuer Tab öffnet sich. Allerdings kann ich den Fokus nicht auf das neue Fenster verschieben.

Ich habe versucht this other SO answer, aber es funktioniert immer noch nicht. Hier

ist der Code, den ich versucht habe:

<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> 

Dieser Code den aktuellen Tab wird anstelle des neuen Tab und in echo es den Titel des aktuellen Tab gedruckt wird und somit wieder auf aktuellen Tab Fokussierung . Wenn ich 1 anstelle von 0 in dem Array-Parameter (selenium.getAllWindowTitles()[1]) in der ersten Zeile verwende, druckt es null.

Ich habe auch mit Namen anstelle von Titeln versucht, aber es funktioniert immer noch nicht.

+0

Ich habe keine Zeit, um die Details jetzt zu finden, aber ich möchte sagen, es gibt einen Fehler in der Funktionalität von SelectWindow herumlaufen. Obwohl dies eher ein Problem mit getAllWindowTitles ist. Entschuldigung, ich kann nicht mehr helfen, ich schaute und konnte es nicht finden. – DMart

Antwort

1

Haben Sie versucht, den Befehl waitForPopUp vor dem selectWindow hinzuzufügen? Diese

ist, was mein Code wie für meinen Testfall aussieht, wenn ich die selectWindow Befehl Arbeit zu machen versucht:

<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> 

Wenn ich diesen Code verwende, kann ich den Testfall passieren, wenn ich versuchte zu konzentrieren neues Fenster.

Ich hoffe, es könnte Ihnen helfen.

Wenn Sie möchten, verwenden Sie bitte das Tool , die erweiterte Version von Selenium IDE. SideeX wird nun als Grundlage für 'The Next Generation' of Selenium IDE verwendet.

Ich habe einige neue Ideen über Windows und Frames Probleme in diesem Tool, um den Testfall zu arbeiten.

0

Ich hatte ein ähnliches Problem, in einer Testumgebung wurden alle Fenster im Grunde den gleichen Namen zugewiesen. Jedes Mal, wenn ich eine Funktion getestet, die einen neuen Tab geöffnet, habe ich nur

selectWindow neue

und als ich fertig war die Seite zu testen,

Close, dass neue Registerkarte zu schließen, dann

selectWindow mit entweder NULL oder keine Argumente, um zum Hauptfenster zurückzukehren.