flutter_probe_annotation 0.9.6
flutter_probe_annotation: ^0.9.6 copied to clipboard
Dart annotations for FlutterProbe — declare ProbeScript end-to-end tests as decorators on your Flutter screen classes. Pair with flutter_probe_gen to generate .probe test files at build time.
Changelog #
0.9.6 - 2026-05-12 #
Added #
@ProbeCompositeTest— declare multi-device composite tests as annotations. Pair withDevice(alias, target: ...)declarations,OnDevice(alias, steps: [...])per-device step groups, andSync(label)cross-device barriers. The generated.probeblock uses the standardcomposite test/devices/syncsyntax that the CLI runner already understands.See.id(key)/See.selector(Selector)— target assertions byValueKeyor by rich selector (Ordinal, Below/Above/LeftOf/RightOf, InContainer, TypeSel). Same factories onDontSee. Previously,See/DontSeeonly accepted a literal text string — the parser always supported every selector kind but the DSL didn't expose it.WaitUntil.idAppears(key)/.idDisappears(key)— emit unquotedwait until #key appears, exercising the Go parser's WaitSelector branch. More reliable than text matching for widgets with stableValueKeys.- Composable
Seesuffixes —See('x', state: SeeState.enabled, containing: 'y')now emitssee "x" is enabled contains "y"(both suffixes present). Previously the second suffix silently overwrote the first.
Changed #
PressandPinchare now@Deprecatedwith a clear note — the Go-side parser has nopressorpinchcase and emitted text would be misparsed as a recipe call. They'll be re-enabled when runtime support lands. UseGoBack()in place ofPress('back').
0.9.5 - 2026-05-12 #
- Version bump to match CLI v0.9.5. No annotation API changes.
0.9.4 - 2026-05-09 #
- Version bump to match CLI v0.9.4. No annotation API changes.
0.9.3 - 2026-05-09 #
- Initial release.
@ProbeSuite,@ProbeTest,@ProbeRecipeannotations for declaring ProbeScript tests directly on Flutter screen classes.- Full step DSL covering all 31 ProbeScript action verbs (Tap, Type, See, Wait, Swipe, Scroll, Drag, Restart, Kill, ClearAppData, permissions, clipboard, location, screenshots, etc.).
- All 6 selector kinds (text, id, type, ordinal, positional, relational).
- Hooks:
beforeEach,afterEach,beforeAll,afterAll,onFailure. - Loops via
Repeat(times, body), conditionals viaIf(condition, then, otherwise). - Recipes with named parameters via
@ProbeRecipe. - Data-driven tests via
Exampleswith column headers and rows. - HTTP calls (
CallHttp) and mocks (Mock). - Inline Dart blocks via
RunDart(code).
Pair with flutter_probe_gen to emit .probe files at build time.