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;
}
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;
}
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;
}
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();
}
}
}
Aggregations