mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 11:07:10 +00:00
72 lines
2.4 KiB
Go
72 lines
2.4 KiB
Go
package verifier
|
|
|
|
// ActionKind identifies the category of a generated UI action.
|
|
type ActionKind string
|
|
|
|
const (
|
|
ActionKindTap ActionKind = "Tap"
|
|
ActionKindDoubleTap ActionKind = "DoubleTap"
|
|
ActionKindInputText ActionKind = "InputText"
|
|
ActionKindSwipe ActionKind = "Swipe"
|
|
ActionKindPressKey ActionKind = "PressKey"
|
|
ActionKindWait ActionKind = "Wait"
|
|
ActionKindLongPress ActionKind = "LongPress"
|
|
ActionKindScroll ActionKind = "Scroll"
|
|
)
|
|
|
|
// Action is a single UI interaction produced by the spec's action generator.
|
|
type Action struct {
|
|
Kind ActionKind
|
|
On string
|
|
Text string
|
|
// X, Y hold the element center when the spec passed an ax element to
|
|
// Tap/InputText. Zero means the runner must resolve On against the
|
|
// current hierarchy.
|
|
X, Y int
|
|
// Swipe coordinates (raw px). Used only for ActionKindSwipe.
|
|
FromX, FromY int
|
|
ToX, ToY int
|
|
// DurationMillis is the Swipe gesture duration or the Wait duration.
|
|
DurationMillis int
|
|
// Key is the logical key name for ActionKindPressKey.
|
|
Key string
|
|
// Direction is the scroll direction for ActionKindScroll: one of "up",
|
|
// "down", "left", "right". Empty for every other kind.
|
|
Direction string
|
|
// Applied is meaningful only on the action a step reports to the spec as
|
|
// state.lastAction: true when the runner saw the dispatch succeed, false
|
|
// when the apply call failed and nothing can say whether the action
|
|
// reached the app. The spec is told which of the two it is.
|
|
Applied bool
|
|
// Relaunched, like Applied, is meaningful only on state.lastAction: the
|
|
// runner brought the app back to the foreground after this action, so the
|
|
// two readings the spec compares straddle a restart. The action still
|
|
// happened; what a property cannot assume across it is that app state ran
|
|
// continuously from one reading to the next.
|
|
Relaunched bool
|
|
}
|
|
|
|
// LogEntry mirrors a logcat line captured between steps.
|
|
type LogEntry struct {
|
|
UnixMillis int64
|
|
Level string
|
|
Tag string
|
|
Message string
|
|
}
|
|
|
|
// Exception mirrors an SDK-captured uncaught throwable.
|
|
type Exception struct {
|
|
Class string
|
|
Message string
|
|
StackTrace string
|
|
UnixMillis int64
|
|
}
|
|
|
|
// ExtractorChange records a single extractor's value transition across one
|
|
// step. Used to surface "what changed at this step" breadcrumbs at violation
|
|
// markers in the replay UI.
|
|
type ExtractorChange struct {
|
|
Prev []byte
|
|
Curr []byte
|
|
}
|