List of usage examples for org.openqa.selenium WebDriver getWindowHandles
Set<String> getWindowHandles();
From source file:qsp.popups.ActiTimewinhand.java
public static void main(String[] args) throws Throwable { WebDriver driver = new FirefoxDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.get("http://localhost/login.do"); driver.findElement(By.id("licenseLink")).click(); driver.findElement(By.xpath("//a[.='actiTIME Inc.']")).click(); Set<String> allwh = driver.getWindowHandles(); System.out.println(allwh.size()); for (String aw : allwh) { driver.switchTo().window(aw);/*from w ww .ja v a 2 s . c om*/ System.out.println(driver.switchTo().window(aw)); driver.close(); } }
From source file:ru.stqa.selenium.factory.DefaultDriverAlivenessChecker.java
License:Apache License
@Override public boolean isAlive(WebDriver driver) { try {/* w ww. jav a 2 s.c o m*/ return driver.getWindowHandles().size() > 0; } catch (UnhandledAlertException ex) { return true; } catch (WebDriverException ex) { return false; } }
From source file:ru.stqa.selenium.wrapper.EventFiringWrapperTest.java
License:Apache License
@Test public void canFireEventForGetWindowHandles() { final WebDriver mockedDriver = mock(WebDriver.class); final Set<String> handles = new HashSet<String>(); handles.add("windows1"); final WebDriverListener mockedListener = mock(WebDriverListener.class); when(mockedDriver.getWindowHandles()).thenReturn(handles); EventFiringWrapper wrapper = new EventFiringWrapper(mockedDriver); wrapper.addListener(mockedListener); final WebDriver driver = wrapper.getDriver(); Set<String> result = driver.getWindowHandles(); assertEquals(result, handles);// www . jav a 2 s .co m verify(mockedDriver, times(1)).getWindowHandles(); verify(mockedListener, times(1)).beforeGetWindowHandles(mockedDriver); verify(mockedListener, times(1)).afterGetWindowHandles(mockedDriver, handles); }
From source file:selenium.webapps.termbrowser.TestTermBrowserTestCase.java
License:Open Source License
public String getPopupWindowBodyText(WebDriver driver) { String parentWindowHandler = driver.getWindowHandle(); String subWindowHandler = null; Set<String> handles = driver.getWindowHandles(); Iterator<String> iterator = handles.iterator(); while (iterator.hasNext()) { subWindowHandler = iterator.next(); }// w w w . java 2s .com driver.switchTo().window(subWindowHandler); String bodyText = driver.findElement(By.tagName("body")).getText(); driver.switchTo().window(parentWindowHandler); return bodyText; }
From source file:uk.co.blackpepper.common.driver.AbstractDriverTest.java
License:Apache License
@Test public void isVisibleInAnotherWindowWhenVisibleReturnsTrue() throws MalformedURLException { WebDriver webDriver = mock(WebDriver.class); when(webDriver.getWindowHandles()).thenReturn(singleton("y")); whenSwitchToWindow(webDriver, "y").thenReturn(webDriver); AbstractDriver<?> driver = new FakeDriver(newDriverConfiguration(webDriver), "x", newExpectedCondition(true)); assertThat(driver.isVisibleInAnotherWindow(), is(true)); }
From source file:uk.co.blackpepper.common.driver.AbstractDriverTest.java
License:Apache License
@Test public void isVisibleInAnotherWindowWhenNotVisibleReturnsFalse() throws MalformedURLException { WebDriver webDriver = mock(WebDriver.class); when(webDriver.getWindowHandles()).thenReturn(singleton("y")); whenSwitchToWindow(webDriver, "y").thenReturn(webDriver); AbstractDriver<?> driver = new FakeDriver(newDriverConfiguration(webDriver), "x", newExpectedCondition(false), 0); assertThat(driver.isVisibleInAnotherWindow(), is(false)); }
From source file:utils.WebDriverUtils.java
public static Set<String> getWindowHandles(WebDriver webDriver) { return webDriver.getWindowHandles(); }
From source file:wsattacker.sso.openid.attacker.evaluation.attack.KeyConfusionAttack.java
License:Open Source License
@Attack(number = 1) private AttackResult performSecondVariantOfKeyConfusionAttack() { OpenIdServerConfiguration.getAttackerInstance().setInterceptIdPResponse(true); OpenIdServerConfiguration.getAttackerInstance().setMethodGet(false); OpenIdServerConfiguration.getAnalyzerInstance().setInterceptIdPResponse(true); OpenIdServerConfiguration.getAnalyzerInstance().setMethodGet(false); OpenIdServerConfiguration.getAttackerInstance().setPerformAttack(true); String victimIdp = OpenIdServerConfiguration.getAnalyzerInstance().getXrdsConfiguration().getBaseUrl(); AttackParameter opEndpointParameter = keeper.getParameter("openid.op_endpoint"); opEndpointParameter.setAttackValueUsedForSignatureComputation(true); opEndpointParameter.setValidMethod(HttpMethod.DO_NOT_SEND); opEndpointParameter.setAttackMethod(HttpMethod.GET); opEndpointParameter.setAttackValue(victimIdp); String victimIdentity = OpenIdServerConfiguration.getAnalyzerInstance().getXrdsConfiguration() .getIdentity();/* w ww . jav a 2s. c o m*/ AttackParameter claimedIdParameter = keeper.getParameter("openid.claimed_id"); claimedIdParameter.setAttackValueUsedForSignatureComputation(true); claimedIdParameter.setValidMethod(HttpMethod.DO_NOT_SEND); claimedIdParameter.setAttackMethod(HttpMethod.GET); claimedIdParameter.setAttackValue(victimIdentity); AttackParameter identityParameter = keeper.getParameter("openid.identity"); identityParameter.setAttackValueUsedForSignatureComputation(true); identityParameter.setValidMethod(HttpMethod.DO_NOT_SEND); identityParameter.setAttackMethod(HttpMethod.GET); identityParameter.setAttackValue(victimIdentity); // include modified parameter in signature AttackParameter sigParameter = keeper.getParameter("openid.sig"); sigParameter.setValidMethod(HttpMethod.DO_NOT_SEND); sigParameter.setAttackMethod(HttpMethod.GET); // copy log entries before login List<RequestLogEntry> logEntriesBeforeLogin = new ArrayList<>(RequestLogger.getInstance().getEntryList()); LoginResult loginResultAttacker = serviceProvider.login(ServiceProvider.User.ATTACKER); WebDriver driver = SeleniumBrowser.getWebDriver(); JavascriptExecutor jse = (JavascriptExecutor) driver; String url = serviceProvider.getUrl(); jse.executeScript("var win = window.open('" + url + "');"); List<String> windowhandles = new ArrayList<>(driver.getWindowHandles()); driver.switchTo().window(windowhandles.get(1)); LoginResult loginResultVictim = serviceProvider.login(ServiceProvider.User.VICTIM); driver.switchTo().window(windowhandles.get(0)); List<WebElement> links = driver.findElements(By.tagName("a")); links.get(1).click(); /* determines the log entries of the current login procedure: logEntries = logEntriesAfterLogin - logEntriesBeforeLogin (subtraction of sets) */ List<RequestLogEntry> logEntriesAfterLogin = RequestLogger.getInstance().getEntryList(); List<RequestLogEntry> logEntries = (List<RequestLogEntry>) CollectionUtils.subtract(logEntriesAfterLogin, logEntriesBeforeLogin); // invert order of log - should be chronological Collections.reverse(logEntries); loginResultAttacker.setScreenshot(SeleniumBrowser.takeScreenshot()); loginResultAttacker.setLogEntries(logEntries); boolean success = serviceProvider.determineAuthenticatedUser(driver.getPageSource(), driver.getCurrentUrl()) == User.VICTIM; Result result = success ? Result.SUCCESS : Result.FAILURE; Interpretation interpretation = success ? Interpretation.CRITICAL : Interpretation.PREVENTED; if (loginResultAttacker.hasDirectVerification()) { result = Result.NOT_PERFORMABLE; interpretation = Interpretation.NEUTRAL; } assert isSignatureValid(loginResultAttacker) : "Signature is not valid!"; // close second window driver.switchTo().window(windowhandles.get(1)).close(); driver.switchTo().window(windowhandles.get(0)); return new AttackResult("Second Variant of Key Confusion", loginResultAttacker, result, interpretation); }
From source file:wsattacker.sso.openid.attacker.evaluation.SeleniumBrowser.java
License:Open Source License
public static void loginVictimToWordpress() { WebDriver driver = getWebDriver(); JavascriptExecutor jse = (JavascriptExecutor) driver; jse.executeScript("var win = window.open('https://de.wordpress.com/wp-login.php');"); List<String> windowhandles = new ArrayList<>(driver.getWindowHandles()); driver.switchTo().window(windowhandles.get(1)); WebElement element = driver.findElement(By.id("user_login")); element.clear();//from ww w .j av a 2 s . c om element.sendKeys("victim123456789"); element = driver.findElement(By.id("user_pass")); element.clear(); element.sendKeys("Victim1234!"); element.submit(); /*windowhandles.forEach((windowHandle) -> { System.out.println("windowHandle: " + windowHandle); });*/ driver.switchTo().window(windowhandles.get(0)); }