feat: --clear-data flag + typed attribute selectors (#48)

* feat(test): add --clear-data flag to clear app data on launch

* test+docs: cover --clear-data flag in CLI parser test and reference

* feat(spec): type AttrSelector with known attribute names

Replace AttrSelector = Record<string, string> with KnownAttrSelectors
plus a string|boolean index signature, so authors get autocomplete and
type-checking on testTag / focused / clickable / etc. while raw driver
attributes still type-check via the fallback. Boolean state attributes
accept native booleans; goja stringifies them at the marshal boundary.

AccessibilityElement.attrs becomes RawAttrs (typed string-valued shape
of the same canonical names) so element.attrs.testTag autocompletes.

* test(verifier): native boolean selector value matches focused=true

* docs+folio: use native boolean for focused selector and document typed attrs
This commit is contained in:
pj authored and GitHub committed 2026-04-27 01:02:21 +07:00
1 parent c76745e5f1
commit dd54c24c4e
10 files changed
+112 -5

No files matched your search

+2 -1
View File
@@ -29,6 +29,7 @@ type Options struct {
Duration time.Duration
Seed int64
Output string
ClearData bool
}
// Execute runs the full test pipeline: bundle, launch app, verify properties.
@@ -68,7 +69,7 @@ func Execute(ctx context.Context, options Options, stdout io.Writer) error {
}
defer cleanup()
if err := activeDriver.Launch(ctx, options.BundleID, false, nil); err != nil {
if err := activeDriver.Launch(ctx, options.BundleID, options.ClearData, nil); err != nil {
return fmt.Errorf("launch app: %w", err)
}