Ich versuche, meine Appium Tests auf echten iOS-Gerät ausführen. Ich kann jedoch nicht herausfinden, wie man zwischen den Tabs in Safari wechselt. Ich öffne eine Seite auf Safari mit Appium IOSDriver-Instanz. Ich klicke dann auf einen Link auf der Seite, der einen neuen Tab öffnet. Jetzt möchte ich diese Registerkarte schließen oder zumindest zurück zum ursprünglichen Fenster wechseln.Wechseln zwischen den Tabs auf iOS Safari mit Appium
Ich habe die folgenden Lösungen ausprobiert, aber keiner von ihnen zu helfen scheint:
Führen Berührungsaktion die Registerkarten Schnittstelle zu öffnen, verwalten nicht die Registerkarten Option klicken.
TouchAction ta = new TouchAction(driver); int h=driver.manage().window().getSize().getHeight(); int w=driver.manage().window().getSize().getWidth(); ta.tap(h-50,w-50).perform();
Versuchte Schalter wieder auf ursprünglichen Kontext, nicht helfen
for (String contextName : contextNames) { if(!contextName.equals(original)) { WebViewContext = contextName; ((AppiumDriver) driver).context(WebViewContext); Thread.sleep(4000); driver.close(); } }
Javascript versucht, keinen Erfolg
Set<String> windows = driver.getWindowHandles(); String currentHandle = driver.getWindowHandle(); ((JavascriptExecutor)driver).executeScript("window.open();"); Set<String> newWindow = driver.getWindowHandles(); newWindow.removeAll(windows); driver.switchTo().window(original);
Aus irgendeinem Grund funktioniert das gleiche Skript nicht für mich zuvor, beachten Sie Code-Snippet (2) in meiner Frage. Ich habe es jedoch noch einmal versucht, nachdem ich deine Antwort mit einigen Wartezeiten/Schlaf gelesen habe, und es scheint den Trick zu machen. Vielen Dank – BountyHunter