@rainforestqa/devicefarm-websocket-client
v1.1.0
Published
AWS Device Farm Websocket client. Connects to real mobile devices, renders their UI and enables interacting with them.
Downloads
6
Readme
Farmer
A web client built to interact with AWS Device Farm's remote access API.
The client was designed to be imported by turker and used by beak to interact directly with our devices on Device Farm.
Local development
- Clone this repo locally
- Run
npm install
- Run
npm run dev
to start a build that updates./dist/example.js
which is referenced byindex.html
- Start http server in this repository using
python -m SimpleHTTPServer 8001
- In
Rainforest
repo runbundle exec rails console
to open rails console - In this console create a remote session on device farm. You will need our AWS Credentials and you can get the device farm arns at https://admin.rainforestqa.com/devices
device_farm = Aws::DeviceFarm::Client.new(region: 'us-west-2', credentials: Aws::Credentials.new(PUBLIC_KEY, SECRET_KEY))
remote = device_farm.create_remote_access_session({
project_arn: OUR_DEVICEFARM_ARN,
device_arn: SPECIFIC_DEVICE_ARN,
name: "Remote Session Test",
configuration: {
billing_method: "METERED",
},
})
- to get our websocket session endpoint run the following. It will take ± 2min for the remote session to provision and this to return an endpoint.
access = device_farm.get_remote_access_session({arn: remote.remote_access_session.arn})
- Get the endpoint value
access["remote_access_session"]["endpoint"]
- Navigate to http://localhost:8001/
- Paste the endpoint value into the input form at the top
- Set the right device dimensions into the form fields
- Click 'Launch Farmer' button
- Profit!
Deployment
A new version of the package has to be published to NPM. Depending projects have to update their package.json to use the latest version.
TODO: Automate publishing to NPM when master build succeeds.