Java Code Examples for org.openqa.selenium.remote.http.HttpMethod#POST
The following examples show how to use
org.openqa.selenium.remote.http.HttpMethod#POST .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JreAppServer.java From selenium with Apache License 2.0 | 6 votes |
@Override public String create(Page page) { try { byte[] data = new Json() .toJson(ImmutableMap.of("content", page.toString())) .getBytes(UTF_8); HttpClient client = HttpClient.Factory.createDefault().createClient(new URL(whereIs("/"))); HttpRequest request = new HttpRequest(HttpMethod.POST, "/common/createPage"); request.setHeader(CONTENT_TYPE, JSON_UTF_8.toString()); request.setContent(bytes(data)); HttpResponse response = client.execute(request); return string(response); } catch (IOException ex) { throw new RuntimeException(ex); } }
Example 2
Source File: UploadFileTest.java From selenium with Apache License 2.0 | 6 votes |
@Test public void shouldWriteABase64EncodedZippedFileToDiskAndKeepName() throws Exception { ActiveSession session = mock(ActiveSession.class); when(session.getId()).thenReturn(new SessionId("1234567")); when(session.getFileSystem()).thenReturn(tempFs); when(session.getDownstreamDialect()).thenReturn(Dialect.OSS); File tempFile = touch(null, "foo"); String encoded = Zip.zip(tempFile); UploadFile uploadFile = new UploadFile(new Json(), session); Map<String, Object> args = ImmutableMap.of("file", encoded); HttpRequest request = new HttpRequest(HttpMethod.POST, "/session/%d/se/file"); request.setContent(asJson(args)); HttpResponse response = uploadFile.execute(request); Response res = new Json().toType(string(response), Response.class); String path = (String) res.getValue(); assertTrue(new File(path).exists()); assertTrue(path.endsWith(tempFile.getName())); }
Example 3
Source File: ProtocolHandshake.java From selenium with Apache License 2.0 | 5 votes |
private Optional<Result> createSession(HttpClient client, InputStream newSessionBlob, long size) { // Create the http request and send it HttpRequest request = new HttpRequest(HttpMethod.POST, "/session"); HttpResponse response; long start = System.currentTimeMillis(); request.setHeader(CONTENT_LENGTH, String.valueOf(size)); request.setHeader(CONTENT_TYPE, JSON_UTF_8.toString()); request.setContent(() -> newSessionBlob); response = client.execute(request); long time = System.currentTimeMillis() - start; // Ignore the content type. It may not have been set. Strictly speaking we're not following the // W3C spec properly. Oh well. Map<?, ?> blob; try { blob = new Json().toType(string(response), Map.class); } catch (JsonException e) { throw new WebDriverException( "Unable to parse remote response: " + string(response), e); } InitialHandshakeResponse initialResponse = new InitialHandshakeResponse( time, response.getStatus(), blob); return Stream.of( new W3CHandshakeResponse().getResponseFunction(), new JsonWireProtocolResponse().getResponseFunction()) .map(func -> func.apply(initialResponse)) .filter(Objects::nonNull) .findFirst(); }
Example 4
Source File: AbstractHttpCommandCodec.java From selenium with Apache License 2.0 | 5 votes |
@Override public HttpRequest encode(Command command) { String name = aliases.getOrDefault(command.getName(), command.getName()); CommandSpec spec = nameToSpec.get(name); if (spec == null) { throw new UnsupportedCommandException(command.getName()); } Map<String, ?> parameters = amendParameters(command.getName(), command.getParameters()); String uri = buildUri(name, command.getSessionId(), parameters, spec); HttpRequest request = new HttpRequest(spec.method, uri); if (HttpMethod.POST == spec.method) { String content = json.toJson(parameters); byte[] data = content.getBytes(UTF_8); request.setHeader(CONTENT_LENGTH, String.valueOf(data.length)); request.setHeader(CONTENT_TYPE, JSON_UTF_8.toString()); request.setContent(bytes(data)); } if (HttpMethod.GET == spec.method) { request.setHeader(CACHE_CONTROL, "no-cache"); } return request; }
Example 5
Source File: JettyAppServer.java From selenium with Apache License 2.0 | 5 votes |
@Override public String create(Page page) { try { byte[] data = new Json().toJson(singletonMap("content", page.toString())).getBytes(UTF_8); HttpClient client = HttpClient.Factory.createDefault().createClient(new URL(whereIs("/"))); HttpRequest request = new HttpRequest(HttpMethod.POST, "/common/createPage"); request.setHeader(CONTENT_TYPE, JSON_UTF_8.toString()); request.setContent(bytes(data)); HttpResponse response = client.execute(request); return string(response); } catch (IOException ex) { throw new RuntimeException(ex); } }
Example 6
Source File: UploadFileTest.java From selenium with Apache License 2.0 | 5 votes |
@Test public void shouldThrowAnExceptionIfMoreThanOneFileIsSent() throws Exception { ActiveSession session = mock(ActiveSession.class); when(session.getId()).thenReturn(new SessionId("1234567")); when(session.getFileSystem()).thenReturn(tempFs); when(session.getDownstreamDialect()).thenReturn(Dialect.OSS); File baseDir = Files.createTempDir(); touch(baseDir, "example"); touch(baseDir, "unwanted"); String encoded = Zip.zip(baseDir); UploadFile uploadFile = new UploadFile(new Json(), session); Map<String, Object> args = ImmutableMap.of("file", encoded); HttpRequest request = new HttpRequest(HttpMethod.POST, "/session/%d/se/file"); request.setContent(asJson(args)); HttpResponse response = uploadFile.execute(request); try { new ErrorHandler(false).throwIfResponseFailed( new Json().toType(string(response), Response.class), 100); fail("Should not get this far"); } catch (WebDriverException ignored) { // Expected } }
Example 7
Source File: AbstractHttpCommandCodec.java From selenium with Apache License 2.0 | 4 votes |
protected static CommandSpec post(String path) { return new CommandSpec(HttpMethod.POST, path); }
Example 8
Source File: MobileCommand.java From java-client with Apache License 2.0 | 2 votes |
/** * This methods forms POST commands. * * @param url is the command URL * @return an instance of {@link org.openqa.selenium.remote.CommandInfo} */ public static AppiumCommandInfo postC(String url) { return new AppiumCommandInfo(url, HttpMethod.POST); }