October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

How to Run Flutter Integration Tests on BrowserStack App Automate

A practical guide to the separate Android and iOS artifact workflows, API requests, device selection, and run results for Flutter integration tests on BrowserStack App Automate.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To run Flutter integration tests on BrowserStack App Automate, build and upload the platform-specific test artifacts, submit a build request with the returned upload identifiers and supported device names, then use the returned build_id to inspect the run. Android uses an app artifact plus a test-suite APK; iOS uses a test-package ZIP and a different request shape.

What you need before starting

  • A BrowserStack username and access key. Keep both private; use environment variables rather than putting credentials in source code. BrowserStack’s Flutter getting-started guide explains the setup and account access.
  • Your Flutter app and the integration-test artifacts built for the platform you want to test. Android and iOS use different artifact flows.
  • A currently supported device and operating-system combination. Check BrowserStack’s execution documentation and device catalog before choosing identifiers; names shown in examples are illustrative and may no longer be available.
  • Command-line access to make HTTPS requests to BrowserStack’s App Automate API.

Set credentials in your shell before using the examples:

export BROWSERSTACK_USERNAME="YOUR_USERNAME"
export BROWSERSTACK_ACCESS_KEY="YOUR_ACCESS_KEY"

Do not paste a real access key into a shared script, repository, or article.

Choose the artifact flow for your platform

Platform Artifacts to upload Build request fields
Android The app as an .apk or .aab, plus the Flutter test suite as an .apk. app, testSuite, and devices
iOS The Flutter test package as a ZIP. testPackage and devices

These are separate documented workflows, not interchangeable payloads. BrowserStack’s execution guide and getting-started guide describe the platform-specific requests.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Samsung Galaxy A16 4G LTE (128GB + 4GB) International Model SM-A165F/DS Factory Unlocked, 6.7", Dual SIM, 50MP Triple Camera (Case Bundle), Black
  • Please note, this device does not support E-SIM; This 4G model is compatible with all GSM networks worldwide outside of the U.S. In the US, ONLY compatible with T-Mobile and their MVNO's (Metro and Standup). It will NOT work with other CDMA carriers, and it is also not compatible with their MVNO (Visible, Xfinity Mobile, US Mobile, Cricket Wireless, etc).
  • Compatibility with certain third-party devices and accessibility accessories, including some hearing aids, may vary depending on manufacturer support, Bluetooth protocols, software compatibility, and regional firmware limitations. For additional hearing aid compatibility information, please refer to Samsung’s official support documentation.
  • Camera: 50 MP, f/1.8, (wide), 1/2.76", 0.64µm, AF | 50 MP, f/1.8, (wide), 1/2.76", 0.64µm, AF | 2 MP, f/2.4, (macro). Battery: 5000 mAh, non-removable | A power adapter is NOT included.

Run Flutter integration tests on Android

1. Build the app and test suite

Prepare the Android app artifact and the instrumentation test-suite APK for your project. BrowserStack accepts an .apk or .aab for the app upload and an .apk for the test suite. The exact Flutter and Gradle build commands depend on the project’s structure and configuration; use the current Flutter and Gradle instructions for your project rather than assuming a universal command. BrowserStack’s setup guide describes the required artifacts and test-suite setup.

2. Upload both artifacts

Upload the app and test suite separately. These requests use multipart form uploads; save the app_url and test_suite_url values returned by your own requests.

Rank #2
Sale
Samsung Galaxy A17 5G Smart Phone 128GB US 1 Yr Manufacturer Warranty Black
  • YOUR CONTENT, SUPER SMOOTH: The ultra-clear 6.7" FHD+ Super AMOLED display of Galaxy A17 5G helps bring your content to life, whether you're scrolling through recipes or video chatting with loved ones.¹
  • LIVE FAST. CHARGE FASTER: Focus more on the moment and less on your battery percentage with Galaxy A17 5G. Super Fast Charging powers up your battery so you can get back to life sooner.²
  • MEMORIES MADE PICTURE PERFECT: Capture every angle in stunning clarity, from wide family photos to close-ups of friends, with the triple-lens camera on Galaxy A17 5G.
  • NEED MORE STORAGE? WE HAVE YOU COVERED: With an improved 2TB of expandable storage, Galaxy A17 5G makes it easy to keep cherished photos, videos and important files readily accessible whenever you need them.³
  • BUILT TO LAST: With an improved IP54 rating, Galaxy A17 5G is even more durable than before.⁴ It’s built to resist splashes and dust and comes with a stronger yet slimmer Gorilla Glass Victus front and Glass Fiber Reinforced Polymer back.
curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_ACCESS_KEY" 
  -X POST "https://api-cloud.browserstack.com/app-automate/flutter-integration-tests/v2/android/app" 
  -F "file=@path/to/your-app.apk"

curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_ACCESS_KEY" 
  -X POST "https://api-cloud.browserstack.com/app-automate/flutter-integration-tests/v2/android/test-suite" 
  -F "file=@path/to/your-test-suite.apk"

Use the returned identifiers in the next request, not sample bs:// values copied from documentation. The upload endpoints and formats are documented in BrowserStack’s app upload guide and test-suite upload guide. The app-upload documentation states a 1 GB limit; check that page for the current limit before relying on it.

3. Submit the Android build

Replace both placeholders with the exact identifiers returned by your uploads. Replace the device placeholder with a currently supported BrowserStack device identifier and OS version.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Tracfone Motorola Moto G 2025, 64GB, Saphire Blue (Locked to
  • Carrier: This phone is locked to Tracfone, which means this device can only be used on the Tracfone wireless network. Tracfone plan required, activating is easy, just 3 steps.
  • DISPLAY: Immersive viewing on a 6.7-inch super-bright 120Hz display with powerful stereo speakers and Bass Boost for cinematic entertainment.
  • CAMERA SYSTEM: Advanced 50MP Quad Pixel camera captures sharp, detailed photos and videos in any lighting condition
  • PERFORMANCE: Lightning-fast 5G connectivity paired with a powerful processor and RAM Boost for smooth multitasking.
  • BATTERY LIFE: Long-lasting 5000mAh battery with TurboPower charging technology delivers hours of power in minutes.
curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_ACCESS_KEY" 
  -X POST "https://api-cloud.browserstack.com/app-automate/flutter-integration-tests/v2/android/build" 
  -H "Content-Type: application/json" 
  -d '{"app":"<uploaded-app-url>","testSuite":"<uploaded-test-suite-url>","devices":["<supported-device>-<os-version>"]}'

A successful response includes a build_id. Save it so you can locate the run in App Automate. The request fields and response flow are described in the Flutter execution guide.

Run Flutter integration tests on iOS

1. Prepare and upload the test package

Prepare the Flutter iOS test package as a ZIP, then upload it to the iOS test-package endpoint. Preserve the returned package identifier for the build request.

Rank #4
Sale
Samsung Galaxy A17 5G Smart Phone 128GB, US 1 Yr Manufacturer Warranty Blue
  • YOUR CONTENT, SUPER SMOOTH: The ultra-clear 6.7" FHD+ Super AMOLED display of Galaxy A17 5G helps bring your content to life, whether you're scrolling through recipes or video chatting with loved ones.¹
  • LIVE FAST. CHARGE FASTER: Focus more on the moment and less on your battery percentage with Galaxy A17 5G. Super Fast Charging powers up your battery so you can get back to life sooner.²
  • MEMORIES MADE PICTURE PERFECT: Capture every angle in stunning clarity, from wide family photos to close-ups of friends, with the triple-lens camera on Galaxy A17 5G.
  • NEED MORE STORAGE? WE HAVE YOU COVERED: With an improved 2TB of expandable storage, Galaxy A17 5G makes it easy to keep cherished photos, videos and important files readily accessible whenever you need them.³
  • BUILT TO LAST: With an improved IP54 rating, Galaxy A17 5G is even more durable than before.⁴ It’s built to resist splashes and dust and comes with a stronger yet slimmer Gorilla Glass Victus front and Glass Fiber Reinforced Polymer back.
curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_ACCESS_KEY" 
  -X POST "https://api-cloud.browserstack.com/app-automate/flutter-integration-tests/v2/ios/test-package" 
  -F "file=@path/to/your-test-package.zip"

2. Start the iOS build

Use the returned test-package identifier and one or more currently supported device/OS names.

curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_ACCESS_KEY" 
  -X POST "https://api-cloud.browserstack.com/app-automate/flutter-integration-tests/v2/ios/build" 
  -H "Content-Type: application/json" 
  -d '{"testPackage":"<uploaded-test-package-url>","devices":["<device-name>-<os-version>"]}'

The iOS request uses testPackage, not Android’s app and testSuite fields. A successful response supplies a build_id for following the run. Verify device availability and request details in BrowserStack’s execution guide.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Samsung Galaxy A16 5G 128GB Cell Phone, Unlocked Android Smartphone, Large AMOLED Display, Durable Design, Super Fast Charging, Expandable Storage, US Version, 2025, Blue Black (Renewed)
  • Charger NOT Included, 6.7" Super AMOLED FHD+, 90Hz Refresh Rate, 385 ppi, 800 nits (HBM), 1080x2340px, 5000mAh Battery
  • 128GB, 4GB RAM, microSDXC, Exynos 1330 (5nm), Octa-Core, Mali-G68 MP2 or Mali-G57 MC2 GPU
  • Rear Camera: 50MP, f/1.8 (wide) + 5MP, f/2.2 (ultrawide) + 2MP, f/2.4 (macro), LED flash, panorama, HDR; Front Camera: 13MP, f/2.0, Android 14, up to 6 major Android upgrades, One UI 6.1
  • 3G: HSDPA 850/900/1700(AWS)/1900/2100; 4G LTE: 1/2/3/4/5/7/12/13/14/20/25/26/28/29/30/38/39/40/41/48/66/71, 5G: 2/5/25/41/66/71/77/78 SA/NSA/Sub6/mmWave - Nano-SIM + eSIM
  • US Model – Global Connectivity – Compatible with Most GSM Carriers like T-Mobile, AT&T, MetroPCS, etc. Will Also work with CDMA Carriers Such as Verizon, Straight Talk.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choose devices and inspect results

The devices value is an array, so you can request more than one device in a build. Select combinations supported by BrowserStack now; the sample device strings in API documentation are examples, not a promise of current availability. Multiple devices broaden coverage but increase the number of device executions in the run. Consult the current execution documentation before making a device matrix.

Open the App Automate dashboard and locate the run using its build_id. BrowserStack lists text, console, video, and network logs as debugging information available through the dashboard or API; availability of a particular log should not be assumed for every run. See the Flutter App Automate overview for its stated debugging capabilities.

Common failures and fixes

  • The build uses an older app. Uploading a changed app creates a new app URL. Update the build request to use that newest URL, along with the matching test-suite URL if it changed. See the app upload guide.
  • The build request rejects an artifact identifier. Confirm that you used the exact identifier returned by your own upload response, and that you uploaded the artifact through the endpoint for the correct platform and artifact type. Example identifiers in documentation are not reusable uploads.
  • The device is not accepted or unavailable. Check the current supported-device documentation and use a valid device/OS combination; do not assume an older sample string remains available.
  • The platform fields do not match the uploaded artifacts. For Android, provide app, testSuite, and devices. For iOS, provide testPackage and devices. Do not send the Android payload for an iOS test package.
  • An upload fails or exceeds the service limit. Check the artifact path, file type, upload response, and current limit on the relevant BrowserStack upload page. The Android app upload page states a 1 GB limit, which can change.
  • You cannot find the run after submission. Check the API response for a successful request and retain its returned build_id; use that ID to find the run in App Automate.
  • Credentials are rejected. Verify the username and access key used for HTTP Basic authentication, ensure the variables are set in the shell running curl, and rotate any key that was exposed.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server, not a replacement for Flutter integration testing on App Automate. If your adjacent task is capturing a web page, one GET request returns an image or PDF:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo documentation. Cookie and consent banners are accepted before capture, and more than 60 known consent platforms, newsletter popups, and chat widgets are removed; each cleanup step can be disabled. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, with response headers indicating the page verdict and billing status. Its MCP server lets AI agents use screenshot tools. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo’s free plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.