メタ -
OS: OSX El capitan Selenium バージョン: 2.53.0 ブラウザ: Safari ブラウザ バージョン: 9.1 SafariDriver バージョン: 2.48.0 SeleniumHQ サイトによると最新です。
予想される行動 -
SafariDriver Launcher ページ/タブは自動的に閉じられ、URL が開かれる最初のタブに切り替わります。
実際の動作 -
Selenium が SafariDriver Launcher ページ [Tab] を閉じずに最初のタブに戻ることで動かなくなる
再現する手順 -
TestNG.xml から n 個のテスト ケースを実行しようとしていますが、SafariDriver Launcher ページ [タブ] を閉じても、ほとんどの TC が正しく実行されません。しかし、いくつかのケースでは、Selenium が SafariDriver Launcher ページ [Tab] を閉じずに最初のタブに戻り、URL が開かれます。
必要なソリューション -
最初に、現在開いているタブの数を確認したい:-
if(browser.equals("safari")){
capability=DesiredCapabilities.safari();
capability.setBrowserName("safari");
capability.setPlatform(Platform.MAC);
capability.setVersion("9.1");
capability.setJavascriptEnabled(true);
driver=new RemoteWebDriver(new URL(grid_url),capability);
driver.get(url);
Thread.sleep(2000);
String windowHandle = driver.getWindowHandle();
ArrayList tabs = new ArrayList (driver.getWindowHandles());
if(tabs.size()>1){
<***Need a solution here to close second tab and switch to first tab***>
driver.switchTo().window(tabs.get(0));
}
}