devicefarm

command module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2016 License: MIT Imports: 11 Imported by: 0

README

DeviceFarm

A command-line tool for using AWS Device Farm. Key features:

  • Easily manage device pools through a config file in your repo.
  • Run your build and upload artifacts & tests to Device Farm.
  • Gives you a URL to jump straight to your test results in the AWS Console.

Install

For OS X users, we recommend installing via Homebrew:

brew tap ride/devicefarm
brew install devicefarm
# all set!
devicefarm --version

For other platforms, devicefarm is distributed as a binary. Simply go to Releases and download the latest binary for your platform.

Setup

First, you will need an AWS user who has permission to access Device Farm. It is recommended to setup a separate user for this purpose. Once you have that, create a file ~/.devicefarm.json with contents like this:

{
  "AWS_ACCESS_KEY_ID": "... your key ...",
  "AWS_SECRET_ACCESS_KEY": "... your secret ..."
}

Second, you should setup a devicefarm.yml config in your repo, like this one.

Features

Only Android instrumentation tests are supported at the moment. See future work.

Run instrumentation tests on Device Farm
# go into your android project
$ cd /path/to/android-app/

# run tests. the output is a URL you can visit to view your test results.
$ devicefarm run
...
https://us-west-2.console.aws.amazon.com/devicefarm/home?region=us-west-2#/projects/1124416c-bfb2-4334-817c-e211ecef7dc0/runs/a07ca17f-d8ec-4adf-8e36-dc776b847705
Update device pools

If you update your device pools in devicefarm.yml you can run tests on different sets of devices. See "List devices" below for how to find device identifiers.

# go into your android project
$ cd /path/to/android-app/

# if you checkout a branch, device pools will be tied only to that branch
$ git checkout -b my-test-branch

# now edit devicefarm.yml...
# you can change the default config, OR specify overrides for your specific branch

# now just create another run
$ devicefarm run
List devices

This way you can find devices you want to add to your device pools.

# list all devices
$ devicefarm devices
(arn=device:306ABA42C96044ED9AC3EE8684B56C54) Apple iPad Mini 1st Gen
(arn=device:5F9CEB47606A4709879003E11BEAFB08) Samsung Galaxy Tab 2 10.1 (WiFi)
...

# list all devices matching "mini"
$ devicefarm devices "mini"
(arn=device:306ABA42C96044ED9AC3EE8684B56C54) Apple iPad Mini 1st Gen
(arn=device:5C748437DC1C409EA595B98B1D7A8EDD) Samsung Galaxy S3 Mini (AT&T)
...

# list all android devices matching "mini"
# there is also an --ios flag :)
$ devicefarm devices --android "mini"
(arn=device:5C748437DC1C409EA595B98B1D7A8EDD) Samsung Galaxy S3 Mini (AT&T)
(arn=device:20766AF83D3A4FEF977643BFCDC2CE3A) Samsung Galaxy S4 mini (Verizon)
More

You can run devicefarm help or devicefarm help COMMAND to get help info:

$ devicefarm help
NAME:
   devicefarm - Run UI tests in AWS Device Farm

USAGE:
   devicefarm [global options] command [command options] [arguments...]

VERSION:
   development

COMMANDS:
    run		Create test run based on YAML config
    build	Run local build based on YAML config
    devices	Search device farm devices

GLOBAL OPTIONS:
   --help, -h		show help
   --version, -v	print the version

Limitations, bugs & future work

See our issue tracker for known bugs, improvements, and maintenance work.

Right now only Android instrumentation tests are supported. As part of our 2.0 Milestone we'll be adding:

  • Support for all test types (including iOS and web).
  • Commands to help setup AWS credentials and devicefarm.yml config.
  • A Homebrew tap so OS X users can install and update using brew.
  • Polishing existing commands and config to make them easier to use.

Docs

License

Copyright © 2016 Ride Group, Inc. MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package build provides data structures and functions to run app builds and Device Farm tests.
Package build provides data structures and functions to run app builds and Device Farm tests.
Package config provides data structures and functions to configure Device Farm testing.
Package config provides data structures and functions to configure Device Farm testing.
Package util provides utility functions used by other packages.
Package util provides utility functions used by other packages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL