1.1.2 • Published 7 years ago

appium-proxy v1.1.2

Weekly downloads
2
License
ISC
Repository
github
Last release
7 years ago

NPM version Downloads Build Status Coverage Status

appium-proxy

appium-proxy is a proxy for appium server that supports to keep the server alive for a long time. It is suitable for running test cases belong with one session id.

Table of Contents

Installation

$ npm install -g appium-proxy

Server flags

The real-url flag is required, this proxy will use this url as a destination.

FlagDefaultDescriptionExample
-a, --address0.0.0.0IP Address to listen on--address 0.0.0.0
-p, --port9000port to listen on--port 9000
--real-urlrequiredOriginal URL of Appium--real-url https://xyz@ondemand.saucelabs.com:443/wd/hub
--command-timeout600Used to keep the server alive (in seconds)--command-timeout 600
--delete-sessiontrueIgnore a delete session request to keep server alive--delete-session
--capability-identifyidIdentify which session will be used--capability-identify id

Use Cases

Setup a basic appium proxy

For example, you have a simple code like this:

String serverUrl = "https://tinonsoftware:123456789@ondemand.saucelabs.com:443/wd/hub";	
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("browserName", "chrome"); 
capabilities.setCapability("deviceName", "Galaxy J7");
capabilities.setCapability("platformVersion", "5.1.1");
capabilities.setCapability("platformName", "Android"); 
capabilities.setCapability("id", "id1"); // you have to add this capability

AppiumDriver<WebElement> driver = new AndroidDriver<WebElement>(new URL(serverUrl), capabilities);

First, you have to start the appium proxy with that server url.

$ appium-proxy --real-url "https://tinonsoftware:123456789@ondemand.saucelabs.com:443/wd/hub"

Secondly, replaced your appium url by "http://localhost:9000"

String serverUrl = "http://localhost:9000";	

Setup to run parallel

Sometimes, you need to run a parallel execution. We provide a flag named capability-identify that can identify which the session which belongs to.

$ appium-proxy --real-url "https://tinonsoftware:123456789@ondemand.saucelabs.com:443/wd/hub" --capability-identify id

Now you can replace your url as "http://localhost:9000". Declared the first one:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("browserName", "chrome"); 
capabilities.setCapability("deviceName", "Galaxy J7");
capabilities.setCapability("platformVersion", "5.1.1");
capabilities.setCapability("platformName", "Android"); 
capabilities.setCapability("id", "id1");

AppiumDriver<WebElement> driver1 = new AndroidDriver<WebElement>(new URL(serverUrl), capabilities);

Declared the second one:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("browserName", "chrome"); 
capabilities.setCapability("deviceName", "Galaxy S6");
capabilities.setCapability("platformVersion", "6.0.1");
capabilities.setCapability("platformName", "Android"); 
capabilities.setCapability("id", "id2");

AppiumDriver<WebElement> driver2 = new AndroidDriver<WebElement>(new URL(serverUrl), capabilities);

To know which sessions are used please enter "http://localhost:9000/json"

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago