Skip to content

Jonahss/jsonwp-proxy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

appium-jsonwp-proxy

NPM version Downloads Dependency Status devDependency Status

Build Status Coverage Status

Proxy middleware for the Selenium JSON Wire Protocol. Allows

Usage

The proxy is used by instantiating with the details of the Selenium server to which to proxy. The options for the constructor are passed as a hash with the following possible member:

  • scheme - defaults to 'http'
  • server - defaults to 'localhost'
  • port - defaults to 4444
  • base - defaults to '/wd/hub'
  • sessionId - the session id of the session on the remote server

Once the proxy is created, there are two async methods:

command (url, method, body)

Sends a "command" to the proxied server, using the "url", which is the endpoing, with the HTTP method and optional body.

import JWProxy from 'appium-jsonwp-proxy';

let host = 'my.host.com';
let port = 4445;

let proxy = new JWProxy({server: host, port: port});

// get the Selenium server status
let seStatus = await proxy.command('/status', 'GET');

proxyReqRes (req, res)

Proxies a request and response to the proxied server. Used to handle the entire conversation of a request/response cycle.

import JWProxy from 'appium-jsonwp-proxy';
import http from 'http';

let host = 'my.host.com';
let port = 4445;

let proxy = new JWProxy({server: host, port: port});


http.createServer(function (req, res) {
  await proxy.proxyReqRes(res, res);
}).listen(9615);

About

Reusable WebDriver JSONWP Proxy Code

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages