screenstack_sdk 2.0.2 copy "screenstack_sdk: ^2.0.2" to clipboard
screenstack_sdk: ^2.0.2 copied to clipboard

Automated screenshot capture for Flutter apps. Configure routes, capture screens during CI/CD builds, and upload to ScreenStack device frames for app store assets.

Changelog #

2.0.2 #

Documentation #

  • Authentication guide: Comprehensive section on handling auth in screenshots
    • Option 1: Setup/teardown callbacks with Firebase, Supabase, custom examples
    • Option 2: Demo/screenshot mode pattern for bypassing auth
    • Option 3: Test-specific routes (e.g., /preview/dashboard)
  • Environment variables: Guidance on storing secrets in CI/CD pipelines
  • Best practices: Updated auth section with practical examples

2.0.1 #

New Features #

  • setup callback: Run authentication or data seeding before capture starts
  • teardown callback: Run cleanup after capture completes
  • ScreenStackCallback type: Type alias for setup/teardown functions

Example #

await captureScreenStackScreenshots(
  tester,
  binding,
  config,
  setup: (tester, context) async {
    // Authenticate before capturing protected screens
    await AuthService.signIn(email: 'test@example.com', password: 'test');
    await tester.pumpAndSettle();
  },
  teardown: (tester, context) async {
    await AuthService.signOut();
  },
);

2.0.0 #

Breaking Changes #

  • captureScreenStackScreenshots() now returns CaptureSessionResult instead of void

New Features #

  • Multi-canvas support: Upload screenshots to multiple canvases simultaneously
  • FrameTarget class: Type-safe canvas/view targeting with FrameTarget(canvas: 'iOS', view: 'Home')
  • Screen class: Define routes with explicit upload targets
  • ScreenStackConfig.advanced() constructor: For multi-canvas projects
  • Screen.withPaths() factory: Parse targets from "canvas/view" string format
  • FrameTarget.parse() factory: Create targets from path strings
  • JSON manifest generation: manifest.json with capture results and targets
  • CaptureResult class: Detailed results per captured screen
  • CaptureSessionResult class: Session summary with success/failure counts
  • Config validation: config.validate() returns list of configuration errors
  • Per-screen settle delay: Override global delay for specific screens

Improvements #

  • Comprehensive library documentation with examples
  • Better error messages for navigation failures
  • Emoji-enhanced console output for capture progress
  • effectiveName getter auto-generates filename from route if not specified

Documentation #

  • Complete API reference in README
  • ScreenStack hierarchy explanation
  • Workflow diagram
  • Best practices and troubleshooting guide

1.0.0 #

  • Initial release
  • ScreenStackConfig class for type-safe configuration
  • captureScreenStackScreenshots() helper for integration tests
  • Support for go_router and Navigator navigation
  • Configurable settle delay
1
likes
150
points
114
downloads

Publisher

verified publishervoostack.com

Weekly Downloads

Automated screenshot capture for Flutter apps. Configure routes, capture screens during CI/CD builds, and upload to ScreenStack device frames for app store assets.

Homepage
Repository (GitHub)
View/report issues

Topics

#screenshots #app-store #testing #ci-cd #automation

Documentation

Documentation
API reference

Funding

Consider supporting this project:

github.com

License

MIT (license)

Dependencies

flutter, flutter_test, integration_test

More

Packages that depend on screenstack_sdk