Java 类org.openqa.selenium.remote.Response 实例源码
项目:devtools-driver
文件:ServerStatusHandler.java
@Override
public Response handle() throws Exception {
JSONObject res = generateStatus();
Set<ServerSideSession> sessions = getServer().getSessions();
Response resp = new Response();
resp.setStatus(0);
resp.setValue(res);
if (sessions.size() == 0) {
resp.setSessionId(null);
} else if (sessions.size() == 1) {
resp.setSessionId(sessions.iterator().next().getSessionId());
} else {
throw new WebDriverException("NI multi sessions per server.");
}
return resp;
}
项目:devtools-driver
文件:SetValueHandler.java
@Override
public Response handle() throws Exception {
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
JsonArray array = getRequest().getPayload().getJsonArray("value");
String value = "";
for (JsonValue jsonValue : array) {
value += JavaxJson.toJavaObject(jsonValue);
}
element.setValueAtoms(value);
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:SetTimeoutHandler.java
/**
* type - {string} The type of operation to set the timeout for. Valid values are: "script" for
* script timeouts, "implicit" for modifying the implicit wait timeout and "page load" for setting
* a page load timeout.
*/
@Override
public Response handle() throws Exception {
JsonObject payload = getRequest().getPayload();
String type = payload.getString("type", "");
final WebDriverLikeCommand command;
if ("page load".equals(type)) {
command = WebDriverLikeCommand.URL;
} else if ("script".equals(type)) {
command = WebDriverLikeCommand.EXECUTE_SCRIPT;
} else {
throw new UnsupportedCommandException("set timeout for " + payload);
}
long timeout = payload.getJsonNumber("ms").longValue();
getSession().configure(command).set(type, timeout);
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:GetConfigurationHandler.java
@Override
public Response handle() throws Exception {
String name = getRequest().getVariableValue(":command");
WebDriverLikeCommand command = WebDriverLikeCommand.valueOf(name);
CommandConfiguration conf = getSession().configure(command);
JSONObject res = new JSONObject();
Map<String, Object> m = conf.getAll();
for (String key : m.keySet()) {
res.put(key, m.get(key));
}
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(res);
return resp;
}
项目:devtools-driver
文件:GetSessionsHandler.java
@Override
public Response handle() throws Exception {
JSONArray res = new JSONArray();
for (ServerSideSession s : getServer().getSessions()) {
JSONObject session = new JSONObject();
session.put("id", s.getSessionId());
session.put("capabilities", new DesiredCapabilities());
res.put(session);
}
Response resp = new Response();
resp.setSessionId("dummy one");
resp.setStatus(0);
resp.setValue(res.toString());
return resp;
}
项目:devtools-driver
文件:SetConfigurationHandler.java
@Override
public Response handle() throws Exception {
WebDriverLikeCommand command =
WebDriverLikeCommand.valueOf(getRequest().getVariableValue(":command"));
JSONObject payload = JavaxJson.toOrgJson(getRequest().getPayload());
@SuppressWarnings("unchecked")
Iterator<String> iter = payload.keys();
while (iter.hasNext()) {
String key = iter.next();
Object value = payload.opt(key);
getSession().configure(command).set(key, value);
}
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(new JSONObject());
return resp;
}
项目:domui
文件:ChromeExtender.java
@Nonnull
private Object send(@Nonnull String cmd, @Nonnull Map<String, Object> params) throws IOException {
Map<String, Object> exe = ImmutableMap.of("cmd", cmd, "params", params);
Command xc = new Command(m_wd.getSessionId(), "sendCommandWithResult", exe);
Response response = m_wd.getCommandExecutor().execute(xc);
Object value = response.getValue();
if(response.getStatus() == null || response.getStatus().intValue() != 0) {
//System.out.println("resp: " + response);
throw new MyChromeDriverException("Command '" + cmd + "' failed: " + value);
}
if(null == value)
throw new MyChromeDriverException("Null response value to command '" + cmd + "'");
//System.out.println("resp: " + value);
return value;
}
项目:grid-refactor-remote-server
文件:Status.java
@Override
public Response handle() throws Exception {
Response response = new Response();
response.setStatus(ErrorCodes.SUCCESS);
response.setState(ErrorCodes.SUCCESS_STRING);
BuildInfo buildInfo = new BuildInfo();
JsonObject info = new JsonObject();
JsonObject build = new JsonObject();
build.addProperty("version", buildInfo.getReleaseLabel());
build.addProperty("revision", buildInfo.getBuildRevision());
build.addProperty("time", buildInfo.getBuildTime());
info.add("build", build);
JsonObject os = new JsonObject();
os.addProperty("name", System.getProperty("os.name"));
os.addProperty("arch", System.getProperty("os.arch"));
os.addProperty("version", System.getProperty("os.version"));
info.add("os", os);
JsonObject java = new JsonObject();
java.addProperty("version", System.getProperty("java.version"));
info.add("java", java);
response.setValue(info);
return response;
}
项目:grid-refactor-remote-server
文件:NewSession.java
@Override
public Response handle() throws Exception {
// Handle the case where the client does not send any desired capabilities.
sessionId = allSessions.newSession(desiredCapabilities != null
? desiredCapabilities : new DesiredCapabilities());
Map<String, Object> capabilities =
Maps.newHashMap(allSessions.get(sessionId).getCapabilities().asMap());
// Only servers implementing the server-side webdriver-backed selenium need
// to return this particular value
capabilities.put("webdriver.remote.sessionid", sessionId.toString());
if (desiredCapabilities != null) {
LoggingManager.perSessionLogHandler().configureLogging(
(LoggingPreferences)desiredCapabilities.getCapability(CapabilityType.LOGGING_PREFS));
}
LoggingManager.perSessionLogHandler().attachToCurrentThread(sessionId);
Response response = new Response();
response.setSessionId(sessionId.toString());
response.setValue(capabilities);
return response;
}
项目:talk2grid
文件:CustomCommandExecutor.java
@Override
public Response execute(Command command) throws IOException {
Response response;
if (DriverCommand.QUIT.equals(command.getName())) {
response = grid.execute(command);
} else {
response = node.execute(command);
}
return response;
}
项目:devtools-driver
文件:GetTextHandler.java
@Override
public Response handle() throws Exception {
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
String text = element.getText();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(text);
return res;
}
项目:devtools-driver
文件:GetHandler.java
@Override
public Response handle() throws Exception {
String url = getRequest().getPayload().getString("url");
getWebDriver().get(url);
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:CommandHandler.java
final Response createResponse(Object value) {
Response r = new Response();
r.setSessionId(getSession().getSessionId());
r.setStatus(0);
r.setValue(value);
return r;
}
项目:devtools-driver
文件:DeleteAllCookiesHandler.java
@Override
public Response handle() throws Exception {
String url = getWebDriver().getCurrentUrl();
List<Cookie> cookies = getWebDriver().getCookies();
for (Cookie c : cookies) {
getWebDriver().deleteCookie(c.getName(), url);
}
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:ClearHandler.java
@Override
public Response handle() throws Exception {
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
element.clear();
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(new JSONObject());
return resp;
}
项目:devtools-driver
文件:GetAttributeHandler.java
@Override
public Response handle() throws Exception {
String attributeName = getRequest().getVariableValue(":name");
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
Object value = element.getAttribute(attributeName);
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(value);
return res;
}
项目:devtools-driver
文件:GetElementSizeHandler.java
@Override
public Response handle() throws Exception {
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
Dimension size = element.getSize();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(size);
return res;
}
项目:devtools-driver
文件:IsSelectedHandler.java
@Override
public Response handle() throws Exception {
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
boolean isSelected = element.isSelected();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(isSelected);
return res;
}
项目:devtools-driver
文件:GetCurrentContextHandler.java
@Override
public Response handle() throws Exception {
String value = getWebDriver().getCurrentPageId().asString();
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(value);
return resp;
}
项目:devtools-driver
文件:SubmitHandler.java
@Override
public Response handle() throws Exception {
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
element.submit();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:RefreshHandler.java
@Override
public Response handle() throws Exception {
getWebDriver().getContext().newContext();
getWebDriver().refresh();
// needed to add this waitForLoadEvent() as waitForPageToLoad() is empty currently
getWebDriver().getContext().waitForLoadEvent();
getWebDriver().waitForPageToLoad();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:GetTitleHandler.java
@Override
public Response handle() throws Exception {
waitForPageToLoad();
String title = getWebDriver().getTitle();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(title);
return res;
}
项目:devtools-driver
文件:GetURL.java
@Override
public Response handle() throws Exception {
String url = getWebDriver().getCurrentUrl();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(url);
return res;
}
项目:devtools-driver
文件:ClickHandler.java
@Override
public Response handle() throws Exception {
String reference = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(reference);
element.click();
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(new JSONObject());
return resp;
}
项目:devtools-driver
文件:FindElementHandler.java
@Override
public Response handle() throws Exception {
waitForPageToLoad();
int implicitWait = getConf("implicit_wait", 0);
long deadline = System.currentTimeMillis() + implicitWait;
RemoteWebElement rwe = null;
do {
try {
rwe = findElement();
break;
} catch (NoSuchElementException e) {
// Ignore and try again.
}
} while (System.currentTimeMillis() < deadline);
if (rwe == null) {
throw new NoSuchElementException(
"No element found for " + getRequest().getPayload() + " after waiting for " + implicitWait
+ " ms.");
} else {
JSONObject res = new JSONObject();
res.put("ELEMENT", rwe.getReference());
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(res);
return resp;
}
}
项目:devtools-driver
文件:SetScriptTimeoutHandler.java
@Override
public Response handle() throws Exception {
timeout = getRequest().getPayload().getInt("ms");
for (WebDriverLikeCommand command : impacted) {
getSession().configure(command).set("script", timeout);
}
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:BackHandler.java
@Override
public Response handle() throws Exception {
getWebDriver().back();
getWebDriver().getContext().newContext();
getWebDriver().waitForPageToLoad();
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(new JSONObject());
return resp;
}
项目:devtools-driver
文件:SetFrameHandler.java
@Override
public Response handle() throws Exception {
JsonValue p = getRequest().getPayload().get("id");
if (JsonValue.NULL.equals(p)) {
getWebDriver().getContext().setCurrentFrame(null, null, null);
} else {
RemoteWebElement iframe;
switch (p.getValueType()) {
case NUMBER:
iframe = getIframe(((JsonNumber) p).intValue());
break;
case OBJECT:
String id = ((JsonObject) p).getString("ELEMENT");
iframe = getWebDriver().createElement(id);
break;
case STRING:
iframe = getIframe(((JsonString) p).getString());
break;
default:
throw new UnsupportedCommandException("cannot select frame by " + p.getClass());
}
RemoteWebElement document = iframe.getContentDocument();
RemoteWebElement window = iframe.getContentWindow();
getWebDriver().getContext().setCurrentFrame(iframe, document, window);
}
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:IsEqualHandler.java
@Override
public Response handle() throws Exception {
int id = Integer.parseInt(getRequest().getVariableValue(":reference"));
int other = Integer.parseInt(getRequest().getVariableValue(":other"));
boolean equal = equal(id, other);
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(equal);
return res;
}
项目:devtools-driver
文件:FindElementsHandler.java
@Override
public Response handle() throws Exception {
waitForPageToLoad();
int implicitWait = getConf("implicit_wait", 0);
long deadline = System.currentTimeMillis() + implicitWait;
List<RemoteWebElement> elements = null;
do {
try {
elements = findElements();
if (elements.size() != 0) {
break;
}
} catch (NoSuchElementException e) {
// Ignore and try again.
}
} while (System.currentTimeMillis() < deadline);
List<com.google.gson.JsonObject> list = new ArrayList<>();
for (RemoteWebElement el : elements) {
com.google.gson.JsonObject jsonObject = new com.google.gson.JsonObject();
jsonObject.addProperty("ELEMENT", el.getReference());
list.add(jsonObject);
}
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(list);
return resp;
}
项目:devtools-driver
文件:GetTagNameHandler.java
@Override
public Response handle() throws Exception {
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
String value = element.getTagName();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(value);
return res;
}
项目:devtools-driver
文件:IsEnabledHandler.java
@Override
public Response handle() throws Exception {
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
boolean isEnabled = element.isEnabled();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(isEnabled);
return res;
}
项目:devtools-driver
文件:SetImplicitWaitTimeoutHandler.java
@Override
public Response handle() throws Exception {
timeout = getRequest().getPayload().getInt("ms");
for (WebDriverLikeCommand command : impacted) {
getSession().configure(command).set("implicit_wait", timeout);
}
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:DeleteCookieByNameHandler.java
@Override
public Response handle() throws Exception {
String name = getRequest().getVariableValue(":name");
String url = getWebDriver().getCurrentUrl();
getWebDriver().deleteCookie(name, url);
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(new JSONObject());
return res;
}
项目:devtools-driver
文件:IsDisplayedHandler.java
@Override
public Response handle() throws Exception {
String reference = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(reference);
boolean isDisplayed = element.isDisplayed();
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(isDisplayed);
return res;
}
项目:devtools-driver
文件:GetWindowHandlesHandler.java
@Override
public Response handle() throws Exception {
Set<String> handles = new HashSet<>();
for (PageId pageId : getWebDriver().listPages()) {
handles.add(pageId.asString());
}
Response resp = new Response();
resp.setSessionId(getSession().getSessionId());
resp.setStatus(0);
resp.setValue(handles);
return resp;
}
项目:devtools-driver
文件:GetPageSizeHandler.java
@Override
public Response handle() throws Exception {
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(getWebDriver().getSize());
return res;
}
项目:devtools-driver
文件:CssPropertyHandler.java
@Override
public Response handle() throws Exception {
String propertyName = getRequest().getVariableValue(":name");
String ref = getRequest().getVariableValue(":reference");
RemoteWebElement element = getWebDriver().createElement(ref);
Object value = element.getCssValue(propertyName);
Response res = new Response();
res.setSessionId(getSession().getSessionId());
res.setStatus(0);
res.setValue(value);
return res;
}
项目:devtools-driver
文件:AlertHandler.java
@Override
public Response handle() throws Exception {
// We don't have any way currently of dealing with alert dialogs with pure JS, so we respond to
// every alert command with the "no alert present" error code.
Response response = new Response();
response.setSessionId(getSession().getSessionId());
response.setStatus(ErrorCodes.NO_ALERT_PRESENT);
response.setValue(new ErrorCodes().toState(ErrorCodes.NO_ALERT_PRESENT));
return response;
}
项目:devtools-driver
文件:NewSessionHandler.java
@Override
public Response handle() throws Exception {
ServerSideSession session = null;
try {
JsonObject capsJson = getRequest().getPayload().getJsonObject("desiredCapabilities");
session = safeStart(new DesiredCapabilities(JavaxJson.toJavaMap(capsJson)));
if (session == null) {
throw new SessionNotCreatedException("Failed to start session.");
}
Response r = new Response();
r.setSessionId(session.getSessionId());
r.setValue(session.getWebDriver().capabilities());
r.setStatus(0);
return r;
} catch (Exception e) {
logger.atSevere().withCause(e).log();
if (session != null) {
session.stop();
}
if (e instanceof WebDriverException) {
throw e;
} else {
throw new SessionNotCreatedException(e.getMessage(), e);
}
}
}