Search in sources :

Example 21 with Cookie

use of org.openqa.selenium.Cookie in project ats-framework by Axway.

the class PhantomJsDriver method getHttpOnlyCookies.

public static List<Cookie> getHttpOnlyCookies() {
    List<Cookie> cookies = new ArrayList<Cookie>();
    if (System.getProperty(PhantomJsDriver.HTTP_ONLY_COOKIES_PROPERTY) != null) {
        String[] cookieNames = System.getProperty(PhantomJsDriver.HTTP_ONLY_COOKIES_PROPERTY).split(",");
        try {
            String cookiesFileContent = IoUtils.streamToString(IoUtils.readFile(PhantomJsDriver.cookiesFile));
            for (String cookieName : cookieNames) {
                int cookieIndex = cookiesFileContent.indexOf(cookieName + "=");
                if (cookieIndex >= 0) {
                    int endIndex = cookiesFileContent.indexOf("\\0", cookieIndex);
                    if (endIndex < 0) {
                        endIndex = cookiesFileContent.indexOf(')', cookieIndex);
                    }
                    String wholeCookieData = cookiesFileContent.substring(cookieIndex, endIndex);
                    String[] cookieParts = wholeCookieData.split(";\\s+");
                    String value = cookieParts[0].substring(cookieParts[0].indexOf('=') + 1);
                    String path = null;
                    String domain = null;
                    boolean isSecure = false;
                    for (String cp : cookieParts) {
                        if ("secure".equalsIgnoreCase(cp)) {
                            isSecure = true;
                        } else if (cp.startsWith("path=")) {
                            path = cp.substring(cp.indexOf('=') + 1);
                        } else if (cp.startsWith("domain=")) {
                            domain = cp.substring(cp.indexOf('=') + 1);
                        }
                    }
                    cookies.add(new Cookie(cookieName, value, domain, path, null, isSecure));
                }
            }
        } catch (Exception e) {
            log.error("Couldn't parse HttpOnly cookeis, from the temp file: " + cookiesFile, e);
        }
    }
    return cookies;
}
Also used : Cookie(org.openqa.selenium.Cookie) ArrayList(java.util.ArrayList)

Example 22 with Cookie

use of org.openqa.selenium.Cookie in project oxAuth by GluuFederation.

the class BaseTest method waitForResourceOwnerAndGrantLoginForm.

/**
     * Try to open login form (via the user-agent)
     */
public String waitForResourceOwnerAndGrantLoginForm(String authorizeUrl, AuthorizationRequest authorizationRequest, boolean cleanupCookies) {
    String authorizationRequestUrl = authorizeUrl + "?" + authorizationRequest.getQueryString();
    AuthorizeClient authorizeClient = new AuthorizeClient(authorizeUrl);
    authorizeClient.setRequest(authorizationRequest);
    System.out.println("waitForResourceOwnerAndGrantLoginForm: authorizationRequestUrl:" + authorizationRequestUrl);
    startSelenium();
    if (cleanupCookies) {
        System.out.println("waitForResourceOwnerAndGrantLoginForm: Cleaning cookies");
        deleteAllCookies();
    }
    driver.navigate().to(authorizationRequestUrl);
    WebElement usernameElement = driver.findElement(By.name(loginFormUsername));
    WebElement passwordElement = driver.findElement(By.name(loginFormPassword));
    WebElement loginButton = driver.findElement(By.name(loginFormLoginButton));
    if ((usernameElement == null) || (passwordElement == null) || (loginButton == null)) {
        return null;
    }
    Cookie sessionStateCookie = driver.manage().getCookieNamed("session_state");
    String sessionState = null;
    if (sessionStateCookie != null) {
        sessionState = sessionStateCookie.getValue();
    }
    System.out.println("waitForResourceOwnerAndGrantLoginForm: sessionState:" + sessionState);
    stopSelenium();
    showClientUserAgent(authorizeClient);
    return sessionState;
}
Also used : Cookie(org.openqa.selenium.Cookie) WebElement(org.openqa.selenium.WebElement)

Example 23 with Cookie

use of org.openqa.selenium.Cookie in project oxAuth by GluuFederation.

the class BaseTest method authenticateResourceOwnerAndGrantAccess.

/**
     * The authorization server authenticates the resource owner (via the user-agent)
     * and establishes whether the resource owner grants or denies the client's access request.
     */
public AuthorizationResponse authenticateResourceOwnerAndGrantAccess(String authorizeUrl, AuthorizationRequest authorizationRequest, String userId, String userSecret, boolean cleanupCookies) {
    String authorizationRequestUrl = authorizeUrl + "?" + authorizationRequest.getQueryString();
    AuthorizeClient authorizeClient = new AuthorizeClient(authorizeUrl);
    authorizeClient.setRequest(authorizationRequest);
    System.out.println("authenticateResourceOwnerAndGrantAccess: authorizationRequestUrl:" + authorizationRequestUrl);
    startSelenium();
    if (cleanupCookies) {
        System.out.println("authenticateResourceOwnerAndGrantAccess: Cleaning cookies");
        deleteAllCookies();
    }
    driver.navigate().to(authorizationRequestUrl);
    if (userSecret != null) {
        if (userId != null) {
            WebElement usernameElement = driver.findElement(By.name(loginFormUsername));
            usernameElement.sendKeys(userId);
        }
        WebElement passwordElement = driver.findElement(By.name(loginFormPassword));
        passwordElement.sendKeys(userSecret);
        WebElement loginButton = driver.findElement(By.name(loginFormLoginButton));
        loginButton.click();
    }
    String authorizationResponseStr = driver.getCurrentUrl();
    WebElement allowButton = driver.findElement(By.name(authorizeFormAllowButton));
    final String previousURL = driver.getCurrentUrl();
    allowButton.click();
    WebDriverWait wait = new WebDriverWait(driver, 10);
    wait.until(new ExpectedCondition<Boolean>() {

        public Boolean apply(WebDriver d) {
            return (d.getCurrentUrl() != previousURL);
        }
    });
    authorizationResponseStr = driver.getCurrentUrl();
    Cookie sessionStateCookie = driver.manage().getCookieNamed("session_state");
    String sessionState = null;
    if (sessionStateCookie != null) {
        sessionState = sessionStateCookie.getValue();
    }
    System.out.println("authenticateResourceOwnerAndGrantAccess: sessionState:" + sessionState);
    stopSelenium();
    AuthorizationResponse authorizationResponse = new AuthorizationResponse(authorizationResponseStr);
    if (authorizationRequest.getRedirectUri() != null && authorizationRequest.getRedirectUri().equals(authorizationResponseStr)) {
        authorizationResponse.setResponseMode(ResponseMode.FORM_POST);
    }
    authorizeClient.setResponse(authorizationResponse);
    showClientUserAgent(authorizeClient);
    return authorizationResponse;
}
Also used : WebDriver(org.openqa.selenium.WebDriver) Cookie(org.openqa.selenium.Cookie) WebDriverWait(org.openqa.selenium.support.ui.WebDriverWait) WebElement(org.openqa.selenium.WebElement)

Example 24 with Cookie

use of org.openqa.selenium.Cookie in project SneakerBot by Penor.

the class Adidas method splash.

@SuppressWarnings("deprecation")
public void splash() {
    try {
        WebDriverWait wait = new WebDriverWait(driver, 60L);
        print("Loading webpage: " + url);
        driver.get(url);
        wait.until(new Function<WebDriver, Boolean>() {

            public Boolean apply(WebDriver d) {
                //   + String.valueOf(((JavascriptExecutor) d).executeScript("return document.readyState")));
                return String.valueOf(((JavascriptExecutor) d).executeScript("return document.readyState")).equals("complete");
            }
        });
        //print(driver.getTitle());
        //TODO: Get to splash page.
        print(proxy != null ? ("[" + proxy.getPassword() + ":" + proxy.getPort() + "] -> ") : "" + "waiting at splash page!");
        while (driver.findElement(By.className("sk-fading-circle")).isDisplayed()) Thread.sleep(5000L);
        print(proxy != null ? ("[" + proxy.getPassword() + ":" + proxy.getPort() + "] -> ") : "" + "passed splash page!");
        driver.manage().getCookies().stream().forEach(c -> {
            if (c.getValue().contains("hmac")) {
                hmac = c.getValue();
                hmacExpiration = c.getExpiry();
            }
        });
        if (driver.findElements(By.className("g-recaptcha")).size() > 0)
            siteKey = driver.findElement(By.className("g-recaptcha")).getAttribute("data-sitekey");
        if (driver.findElements(By.id("flashproductform")).size() > 0)
            clientId = driver.findElement(By.id("flashproductform")).getAttribute("action").split("clientId=")[1];
        Date timeLeft = new Date(hmacExpiration.getTime() - System.currentTimeMillis());
        print("[Success] -> SiteKey: " + siteKey + " Client ID: " + clientId + " HMAC: " + hmac + " Time Left: " + timeLeft.getMinutes() + "m" + timeLeft.getSeconds() + "s");
        if (manual) {
            FirefoxProfile profile = new FirefoxProfile();
            if (proxy != null) {
                profile.setPreference("network.proxy.type", 1);
                profile.setPreference("network.proxy.http", proxy.getAddress());
                profile.setPreference("network.proxy.http_port", proxy.getPort());
                profile.setPreference("network.proxy.ssl", proxy.getAddress());
                profile.setPreference("network.proxy.ssl_port", proxy.getPort());
            }
            //profile.setPreference("general.useragent.override", driver.set);
            WebDriver checkout = new FirefoxDriver(profile);
            for (Cookie cookie : driver.manage().getCookies()) checkout.manage().addCookie(cookie);
            checkout.get(driver.getCurrentUrl());
        } else
            while (!carted && hmacExpiration.getTime() > System.currentTimeMillis()) atc();
    } catch (Exception e) {
        String name = e.getClass().getName();
        print("[Exception] -> " + name);
        carted = true;
        if (name.equals("org.openqa.selenium.TimeoutException"))
            carted = false;
    } finally {
        print(carted ? "Closing driver, and ending" : "Failed, Retrying...");
        if (carted) {
            driver.quit();
            Thread.currentThread().interrupt();
        }
    }
}
Also used : WebDriver(org.openqa.selenium.WebDriver) Cookie(org.openqa.selenium.Cookie) FirefoxDriver(org.openqa.selenium.firefox.FirefoxDriver) WebDriverWait(org.openqa.selenium.support.ui.WebDriverWait) FirefoxProfile(org.openqa.selenium.firefox.FirefoxProfile) Date(java.util.Date)

Aggregations

Cookie (org.openqa.selenium.Cookie)24 WebDriver (org.openqa.selenium.WebDriver)11 Test (org.junit.Test)8 WebElement (org.openqa.selenium.WebElement)7 Date (java.util.Date)5 WebDriverWait (org.openqa.selenium.support.ui.WebDriverWait)5 PublicAtsApi (com.axway.ats.common.PublicAtsApi)3 FirefoxDriver (org.openqa.selenium.firefox.FirefoxDriver)3 File (java.io.File)2 JavascriptActions (com.wikia.webdriver.common.core.elemnt.JavascriptActions)1 User (com.wikia.webdriver.common.core.helpers.User)1 WikiBasePageObject (com.wikia.webdriver.pageobjectsfactory.pageobject.WikiBasePageObject)1 BufferedReader (java.io.BufferedReader)1 BufferedWriter (java.io.BufferedWriter)1 FileReader (java.io.FileReader)1 FileWriter (java.io.FileWriter)1 Method (java.lang.reflect.Method)1 ArrayList (java.util.ArrayList)1 Map (java.util.Map)1 StringTokenizer (java.util.StringTokenizer)1