2016-12-08 4 views
0

Ich bin eine Anwendung mit Selen Webdriver mit Java automatisieren. In diesem muss ich eine Browserinstanz öffnen & einige Aktionen ausführen. Danach muss ich eine andere Browserinstanz öffnen, einige Aktionen darin ausführen & diese Instanz schließen. Dann muss ich das Steuerelement wieder an die erste Browser-Instanz zurückgeben, um einige andere Aktionen auszuführen.Wechsel zwischen 2 Fenstern in Selen Webdriver mit Java

Ich habe versucht, mit:

String winHandleBefore = driver.getWindowHandle(); 
//then open new instance and perfom the actions 
driver.switchTo().window(winHandleBefore); 

Aber dies hat einen Fehler zurückgegeben:

org.openqa.selenium.remote.SessionNotFoundException: no such session

Wie kann ich das tun? Kann jemand helfen?

+0

Wie haben Sie offen zu öffnen und das neue Fenster schließen? – Guy

+0

Neues Fenster geöffnet von: System.setProperty ("webdriver.chrome.driver", "D: \\ MyProjects \\ SeleniumTrials \\ chromedriver_win32 \\ chromedriver.exe"); \t driver = new ChromeDriver(); \t driver.get (properties.getProperty ("VAR_ADMINURL")); \t driver.manage(). Window(). Maximize(); \t Geschlossen von: driver.close(); – Amrutha

Antwort

1

Wenn Sie driver = new ChromeDriver(); taten, initialisierten Sie das driver Objekt, das den Verlust des ersten Fensters verursachte. Sie können es sehen, indem die Anzahl der Fenster überprüft Griffe nach dem neuen Fenster

WebDriver driver = new ChromeDriver(); 
int len = getWindowHandles().size(); // 1 as expected 
driver = new ChromeDriver(); 
len = getWindowHandles().size(); // still 1, has only the new window 

Öffnen diese Anwendung temporären driver Zur Lösung das neue Fenster

WebDriver tempDriver = new ChromeDriver(); 
// do some stuff 
tempDriver.close(); 
Verwandte Themen