Black Friday30% off your first month. See prices →
VibeView

Integration

Test a Flutter App on a Cloud Device

Flutter needs no special handling here, which is the honest summary: build for the simulator rather than a physical device, upload the result, and it runs on a cloud device in a browser tab. There is no Flutter plugin to install and no configuration to add. The things worth knowing are which build flag produces a build a simulator can run, that cloud builds can do the building for you, and how the AI test agent identifies Flutter list rows.

How it works

  1. 01

    Build for the simulator, not the device

    The default iOS build targets physical hardware and produces an .ipa, which will not install on a simulator. Pass --simulator to get a .app instead. On Android the ordinary debug .apk works as-is.

    # iOS -> build/ios/iphonesimulator/Runner.app
    flutter build ios --simulator --debug
    
    # Android
    flutter build apk --debug
  2. 02

    Or build it in the cloud

    Run vibeview build --cloud from the project root and the build runs on VibeView’s builders, which have the Flutter SDK: the iOS build needs no Mac, the Android build no Android SDK. The CLI (0.42.0 and later) recognizes the project by its pubspec.yaml and suggests the two commands above, then saves them to vibeview.json. The finished build lands in your app’s build history, ready to open on a device. The builders have FVM too, so a project that pins its Flutter release in .fvmrc builds with that release when the command runs fvm flutter.

    npm install -g vibeview
    vibeview login
    vibeview build --cloud --platform all
  3. 03

    Upload and open a device

    Upload the artifact once and start a session against it. Uploads are capped at 500 MB. From there the device is a browser tab you can hand to anyone with a link — useful on Flutter projects specifically, where the same build runs both platforms and reviewers usually only ever see one of them.

    npm install -g vibeview
    vibeview login
    vibeview upload-app build/ios/iphonesimulator/Runner.app
  4. 04

    Writing tests against Flutter lists

    One Flutter-specific detail worth knowing if you use the AI test agent (beta). Flutter list rows routinely reuse a single accessibility identifier across every row, so an identifier alone cannot say which row a step meant. The agent folds the row label into the element identity — or its position when the row has no label — so a recorded tap replays against the right row rather than the first one. You do not configure this; it matters because it means per-row identifiers are not something you need to add.

  5. 05

    What this does not do

    There is no Flutter driver integration and no importer for existing integration_test suites — VibeView tests are recorded or written in its own format. If you have a Flutter test suite you trust, keep it. This is for putting the running app in front of people and for checking screens visually, not for replacing a suite that works.

Full setup instructions live in the documentation.

Add Flutter to your pipeline

Start free and run your first check on a live device.