Working Principles
Overview

Actor
An Acto
Ability
Interactions
Interactions are the basic elements provided by an ability. e.g.
Sleepfor an amount of timeClickon an elementEntera text into a text field or areaSeeif aQuestionmatches a specified statePosta rest request
There are interactions which execute user actions on an device like Click or Enter and there are interactions which query the status of an device like See.
## Tasks
Tasks are the building blocks of work flows and consists of:
- interactions and
- tasks
for example:
const logan: Actor = Actor.named(`Logan`);
logan.attemptsTo(
See.if(Text.of(MY_ELEMENT))
.is(Expected.toBe(`the text of the element`))
)
## Questions
a question retrieves the state of a device attribute or element. Text for example is a Question which retrieves the text of a web element. Just by itself a Question does not make sense. It is always used in combination with an Interaction like See, which uses the Question to check if a condition is met.
See section
for example:
const logan: Actor = Actor.named(`Logan`);
logan.attemptsTo(
See.if(Text.of(MY_ELEMENT))
.is(Expected.toBe(`the text of the element`))
)