Robot School is the knowledge & learning centre for the Automation Cloud automation cloud

Environment

  1. The Autopilot is a tool for authoring and testing automation Scripts.
  2. Autopilot user interface overview top to bottom: tabs (workspaces), active workspace, the Player.
    • Workspaces are configurable sets of panels. The Script workspace contains the Script and the Editor panels that are working together.
    • The Script panel is a tree representation of the automation scenario. You can select one node of the tree at a time. The chosen node becomes configurable via the Editor panel and executable by the Player.
    • The Player offers a few modes of testing and debugging. Play your Script unit by unit or end to end.

Key scripting concepts

Script building blocks: context, action, pipe

  1. Autopilot connects the elements on a web page with the data. The flow goes in one direction: from the page, through a pipeline (chain of pipes), to an action. As far as Autopilot is concerned, the data's nature is a tuple: it holds an element (a node) and a value (string, number, object or boolean). A pipe can modify one side of the tuple at a time. The defaults are the page #document as an element and an empty object {} as a value.
  2. A pipe is a sole-purpose mini-program that modifies the data according to the pipe's type. It keeps a connection with the page, so you get feedback instantly whenever you look at the pipe. Here are a few most common pipe groups: List, Value, DOM, Object, Boolean.
  3. Pipes can form a chain – a pipeline. The output of one pipe is the input for the following item. This way, a series of modifications apply to the data on its way to the action. Each step affects one side of an element-value tuple.
  4. Action changes the state of things. Action's type defines what sort of effect happens. In contrast to pipes, you need to execute an action to see its impact. The two most common action groups are Page and Flow.
  5. A context is a set of instructions on how to recognise the page and what to do with it.
  6. Matchers, a particular type of actions, facilitate context recognition by describing a page's desired state. The only context with no matchers is the <main> one – it doesn't need to match anything, as this is where the Script starts.

Context matching

  1. When all the matchers of a context give a green light, the control goes to the rest of the context's actions.
  2. Contexts match in order. By default, Script can reach each context just once during the playback (change the limit setting if you need the same context to enter more than once).
  3. The default context flow setting is normal. Once the context execution finishes, Script attempts to check if some other context matches the loaded page. If nothing fits, Autopilot throws a NoContextsMatch error. It's essential to indicate the Script's expected ending by describing the success and, optionally, the failure ending.
  4. To finish the Script, define the success criteria. Make a context and set its flow param to success. Actions are optional.
  5. Set the flow param to fail to indicate an expected failure, e.g. a product went out of stock. Hence, it's impossible to purchase it. You can specify the errorCode as well. Actions are optional.