tree: 392aad085d0abed4fd8bb0c56ea5cb34b92adb72 [path history] [tgz]
  1. __init__.py
  2. actions.proto
  3. actions_pb2.py
  4. Makefile
  5. README.md
  6. test_plan.proto
  7. test_plan_pb2.py
franky/protos/README.md

Protobuf Schema for Testplan

This proto defines the format of the testplan used by Franky. It is intended to be used as a human-readable text representation.

Updating the schema

As a generally accepted practice for protobufs, try to keep it backwards-compatible by not renaming or renumbering fields and enum constants. Protobufs have effectively “add only” schemas.

If you add a new *.proto file, also add it to the Makefile.

Once modified, compile the protos by running:

make

and make sure the resulting *_pb2.py files are checked in. We do not expect the users to have protoc compiler available on their system when running Franky.

Writing Testplans

A test plan file contains a list of tests in a format like this:

test {
  description: "First Run UI Flow"
  step: {
    description: "Remove, Install and Launch Chrome"
    action: { system: ReinstallAndLaunchApp }
  }
  step: {
    description: "Tap Accept and continue."
    action: { tap: Tap }
    locate_by: ID
    path: "Accept & Continue"
  }
  step: {
    description: "Skip Login"
    action: { tap: Tap }
    locate_by: ID
    path: "SkipButtonAccessibilityIdentifier"
  }
}

test {
  description: "Manage Accounts Add/Remove"
  step: {
    description: "Open Settings tab"
    action: { menu: OpenSettingsMenu }
  }
  // ...
}

Comments start with //, but are generally discouraged, since testplans will likely be updated and regenerated from spreadsheets, and comments will be lost.