@rainforestqa/devicefarm-websocket-client

1.1.0 • Public • Published

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 by index.html
  • Start http server in this repository using python -m SimpleHTTPServer 8001
  • In Rainforest repo run bundle 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.

Package Sidebar

Install

npm i @rainforestqa/devicefarm-websocket-client

Weekly Downloads

1

Version

1.1.0

License

ISC

Unpacked Size

99.9 kB

Total Files

16

Last publish

Collaborators

  • maciejgryka
  • jiri_rf
  • prayogoa
  • rainforestapp
  • ajfunk