patrol icon indicating copy to clipboard operation
patrol copied to clipboard

Code Coverage Support for Patrol Flutter Tests on BrowserStack

Open iammofidul opened this issue 3 months ago • 3 comments

Steps to reproduce




Build Test Suite APK
./gradlew app:assembleAndroidTest


Build APK
patrol build android --flavor flavor --dart-define=app_flavor=flavor --dart-define=app_environment=env

Upload APK

curl --location 'https://api-cloud.browserstack.com/app-automate/espresso/v2/app' \
--form 'file=@"file path"'


Upload test Suite APK
curl --location 'https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suite' \
--form 'file=@"filePath"'



Run Test
curl --location 'https://api-cloud.browserstack.com/app-automate/espresso/v2/build' \
--data '{
    "singleRunnerInvocation": "true",
    "networkLogs": "true",
    "disableAnimations": "true",
    "deviceLogs": "true",
    "video": "true",
    "useOrchestrator": "true",
    "clearPackageData": "true",
    “coverage”:”true”,
    "app": "bs://Test",
    "testSuite": "bs://Test",
    "devices": [
      "Google Pixel 9-15.0"
    ],
    "project": "TEST APP",
    "buildTag": "Timestamp: $timestamp",
    "shards": {"numberOfShards": 3}
  }'




API to fetch Report
curl --location 'https://api-cloud.browserstack.com/app-automate/espresso/v2/builds/BuildId' \


Coverage API
curl --location 'https://api-cloud.browserstack.com/app-automate/espresso/v2/builds/buildId/sessions/sessionId/coverage' \







Actual results

Result 
<?xml version="1.0" encoding="UTF-8"?>
<Error>
    <Code>NoSuchKey</Code>
    <Message>The specified key does not exist.</Message>
    <Key>Buildid/sessionId/espresso_session_coverage_Id</Key>
    <RequestId>Id</RequestId>
    <HostId>Id</HostId>
</Error>

Logs

Logs
NA

Patrol version

patrol: 3.15.1

Patrol Doctor output

Patrol Doctor output
Patrol doctor:
Patrol CLI version: 3.5.1
Flutter command: flutter 
  Flutter 3.27.4 • channel [user-branch]
Android: 
• Program adb found in /Users/username/Library/Android/sdk/platform-tools/adb
• Env var $ANDROID_HOME set to /Users/username/Library/Android/sdk
iOS / macOS: 
• Program xcodebuild found in /usr/bin/xcodebuild
• Program ideviceinstaller found in /opt/homebrew/bin/ideviceinstaller

Flutter Doctor output

Flutter Doctor output
<!--Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel [user-branch], 3.27.4, on macOS 15.6 24G84 darwin-arm64, locale en-IN)
    ! Flutter version 3.27.4 on channel [user-branch] at /Users/mofidulislam/development/flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/setup.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
[!] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/to/macos-android-setup for more details.
[!] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS and macOS development.
      Download at: https://developer.apple.com/xcode/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] VS Code (version 1.103.0)
[✓] Connected device (3 available)
[✓] Network resources

-->

iammofidul avatar Sep 10 '25 16:09 iammofidul

Hi, can you tell us a little bit more about what is not working and what you are expecting here? We do not support coverage for patrol build IIRC. Maybe it can be feature request but leave more details to the description and what you want to achieve here.

Kendru98 avatar Sep 11 '25 08:09 Kendru98

We want detailed code coverage result from browserstack patrol test report which is currently not working . We are getting 404 error with message for this curl --location 'https://api-cloud.browserstack.com/app-automate/espresso/v2/builds/buildId/sessions/sessionId/coverage' \

<?xml version="1.0" encoding="UTF-8"?>
<Error>
    <Code>NoSuchKey</Code>
    <Message>The specified key does not exist.</Message>
    <Key>Buildid/sessionId/espresso_session_coverage_Id</Key>
    <RequestId>Id</RequestId>
    <HostId>Id</HostId>
</Error>

iammofidul avatar Sep 11 '25 16:09 iammofidul

What do you mean by IIRC? ,Patrol code coverage is not supported on Browser stack app automate ?

iammofidul avatar Sep 20 '25 16:09 iammofidul