What an atomic capability is
An atomic capability is the smallest operation unit. It cannot be split further. Like an atomic operation in programming, it either finishes completely or fails completely. It does not stop halfway. The term sounds abstract the first time you hear it. It is one tap, or one swipe.
In iEasyRun, the Agent client calls atomic capabilities directly. The client is the native app on each phone. The farm control plane does two things: send the command, and collect the result. The upper layer and the lower layer are separate, which is what decoupling means here. Whatever model or strategy sits above, execution underneath stays the same, and it can be checked.
| Capability | What it does | What the success receipt requires |
|---|---|---|
| launch_app | Launch a specified app | The target app is already in the foreground |
| tap | Tap a coordinate or a UI selector | The tap has been sent; optional confirmation that the UI changed |
| swipe | A swipe gesture (up, down, left, right) | The gesture finished |
| input | Enter text into a specified field | The field text matches what was expected, or it can be read |
| wait_ui | Wait until copy or a control appears | An explicit failure if it times out |
| album_import / pick_media | Import or select a media file | The asset can be selected on the publish page |
| screenshot (optional) | Capture the current screen | Enabled only while debugging; off by default, and not written to disk |
The design, and how it differs from recording a script
Every call has a receipt. After a tap is sent, you still confirm that the screen actually moved to the next page.
Timeouts and error codes have to be explicit. wait_ui waits at most N seconds. When the time is up it returns a timeout error. It does not keep hanging.
The same command has to be idempotent. Sending the same tap twice has the same effect as sending it once. A repeat send does not perform the action a second time.
An atomic operation only changes state inside the app. It does not clear the cache, and it does not change configuration.
Atomic capabilities and record-and-playback are often talked about together.
| Comparison | Record and playback | Atomic capabilities + AI |
|---|---|---|
| Stability | An app update breaks it | It acts on what is on the screen, so updates bother it less |
| Flexibility | It can only replay the flow that was recorded | The AI combines steps from the intent |
| When something goes wrong | After an interruption, start over from the beginning | Find which step failed, and retry that step |
| Where it fits | Testing a fixed flow | Flows of varying length (the user states the task however they like) |
To chain these calls into a workflow, see the capability guide.
Keep Learning
Want to See How These Chain Together?
Start with the video publish workflow—understand the whole chain step by step.