Skip to content

Devicelab - android_semantics_integration_test failed. (Incorrect semantics) #153594

@rzambroni

Description

@rzambroni

Steps to reproduce

Environment:

  • Device: Pixel 8 Pro (Android 15.4.2 beta) - Physical device
  • Flutter Version: 3.24.0-1.0.pre.607 (Channel master) OR Flutter stable 3.24
  • Android Studio Version: Koala Feature Drop | 2024.1.2 RC 1

Steps:

  1. Download flutter from GitHub - flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond .
  2. Go to dev/devicelab/lib/framework/utils.dart and search for the startProcess function and inside it add these 2 lines after line 299:
  newEnvironment['FLUTTER_XCODE_DEVELOPMENT_TEAM']='PUT_YOUR_DEV_TEAM_HERE';
  newEnvironment['ANDROID_SDK_ROOT']='PATH_TO_ANDROID_SDK'
  1. Go to: dev/devicelab and execute the command:
../../bin/cache/dart-sdk/bin/dart bin/test_runner.dart test -t android_semantics_integration_test >> logs.txt
  1. Check the logs.txt file to see the results

Expected results

The test should finish successfully.

Actual results

Consistently failed across all 3 executions.
flaky: false

Fragments of the logs below and full logs on the logs section:

Exception - Text Field
[2024-08-16 10:37:38.579626] [STDOUT] stdout: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
[2024-08-16 10:37:38.579655] [STDOUT] stdout: The following TestFailure was thrown running a test:
[2024-08-16 10:37:38.579674] [STDOUT] stdout: Expected: AndroidSemanticsNode with className: android.widget.EditText with actions:
[2024-08-16 10:37:38.579735] [STDOUT] stdout: [AndroidSemanticsAction.click, AndroidSemanticsAction.paste, AndroidSemanticsAction.setSelection,
[2024-08-16 10:37:38.579757] [STDOUT] stdout: AndroidSemanticsAction.setText] with ignoredActions: [AndroidSemanticsAction.accessibilityFocus,
[2024-08-16 10:37:38.579774] [STDOUT] stdout: AndroidSemanticsAction.clearAccessibilityFocus] with flag isEditable: true with flag isFocusable:
[2024-08-16 10:37:38.580312] [STDOUT] stdout: true with flag isFocused: true with flag isPassword: false
[2024-08-16 10:37:38.580373] [STDOUT] stdout:   Actual: AndroidSemanticsNode:<{rect: {top: 106.22222137451172, left: 0.0, bottom:
[2024-08-16 10:37:38.580418] [STDOUT] stdout: 154.22222900390625, width: 1008, right: 448.0, height: 108}, contentDescription: null, flags:
[2024-08-16 10:37:38.580439] [STDOUT] stdout: {isHeading: false, isEditable: true, isPassword: false, isEnabled: true, isLongClickable: false,
[2024-08-16 10:37:38.580458] [STDOUT] stdout: isDismissible: false, isCheckable: false, isChecked: false, isFocused: true, isFocusable: true},
[2024-08-16 10:37:38.580495] [STDOUT] stdout: className: android.widget.EditText, liveRegion: 1, id: 16, text: null, actions: [131072, 2097152,
[2024-08-16 10:37:38.580516] [STDOUT] stdout: 16, 128]}>
[2024-08-16 10:37:38.580549] [STDOUT] stdout:    Which: Expected actions: [AndroidSemanticsAction.click, AndroidSemanticsAction.paste,
[2024-08-16 10:37:38.580569] [STDOUT] stdout: AndroidSemanticsAction.setSelection, AndroidSemanticsAction.setText]
[2024-08-16 10:37:38.580782] [STDOUT] stdout:           Actual actions: [AndroidSemanticsAction.click, AndroidSemanticsAction.setSelection,
[2024-08-16 10:37:38.580819] [STDOUT] stdout: AndroidSemanticsAction.setText]
[2024-08-16 10:37:38.580836] [STDOUT] stdout:           Unexpected: {}
[2024-08-16 10:37:38.582741] [STDOUT] stdout:           Missing: {AndroidSemanticsAction.paste}
[2024-08-16 10:37:38.582823] [STDOUT] stdout: 
[2024-08-16 10:37:38.582849] [STDOUT] stdout: When the exception was thrown, this was the stack:
[2024-08-16 10:37:38.582871] [STDOUT] stdout: #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/qa/Documents/flutter/dev/integration_tests/android_semantics_testing/integration_test/main_test.dart:107:9)
[2024-08-16 10:37:38.582895] [STDOUT] stdout: <asynchronous suspension>
[2024-08-16 10:37:38.582975] [STDOUT] stdout: #5      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:189:15)
[2024-08-16 10:37:38.583003] [STDOUT] stdout: <asynchronous suspension>
[2024-08-16 10:37:38.583022] [STDOUT] stdout: #6      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1032:5)
[2024-08-16 10:37:38.583042] [STDOUT] stdout: <asynchronous suspension>
[2024-08-16 10:37:38.583094] [STDOUT] stdout: <asynchronous suspension>
[2024-08-16 10:37:38.583117] [STDOUT] stdout: (elided one frame from package:stack_trace)
[2024-08-16 10:37:38.583135] [STDOUT] stdout: 
[2024-08-16 10:37:38.583152] [STDOUT] stdout: This was caught by the test expectation on the following line:
[2024-08-16 10:37:38.583193] [STDOUT] stdout:   file:///Users/qa/Documents/flutter/dev/integration_tests/android_semantics_testing/integration_test/main_test.dart line 107
[2024-08-16 10:37:38.584334] [STDOUT] stdout: The test description was:
[2024-08-16 10:37:38.584356] [STDOUT] stdout:   TextField has correct Android semantics
[2024-08-16 10:37:38.585016] [STDOUT] stdout: ════════════════════════════════════════════════════════════════════════════════════════════════════
Dropdown Menu
[2024-08-16 10:37:50.899477] [STDOUT] stdout: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
[2024-08-16 10:37:50.899544] [STDOUT] stdout: The following TestFailure was thrown running a test:
[2024-08-16 10:37:50.899575] [STDOUT] stdout: Expected: AndroidSemanticsNode with className: android.view.View with actions:
[2024-08-16 10:37:50.899603] [STDOUT] stdout: [AndroidSemanticsAction.click] with ignoredActions: [AndroidSemanticsAction.accessibilityFocus,
[2024-08-16 10:37:50.899632] [STDOUT] stdout: AndroidSemanticsAction.clearAccessibilityFocus] with flag isChecked: false with flag isEnabled: true
[2024-08-16 10:37:50.899658] [STDOUT] stdout: with flag isFocusable: true
[2024-08-16 10:37:50.899725] [STDOUT] stdout:   Actual: AndroidSemanticsNode:<{rect: {top: 516.0, left: 152.88888549804688, bottom: 564.0, width:
[2024-08-16 10:37:50.899756] [STDOUT] stdout: 248, right: 263.1111145019531, height: 108}, contentDescription: Item 1, flags: {isHeading: false,
[2024-08-16 10:37:50.899783] [STDOUT] stdout: isEditable: false, isPassword: false, isEnabled: true, isLongClickable: false, isDismissible: false,
[2024-08-16 10:37:50.899813] [STDOUT] stdout: isCheckable: false, isChecked: false, isFocused: true, isFocusable: true}, className:
[2024-08-16 10:37:50.899851] [STDOUT] stdout: android.widget.Button, liveRegion: 0, id: 25, text: null, actions: [16, 128]}>
[2024-08-16 10:37:50.899876] [STDOUT] stdout:    Which: Expected className: android.view.View
[2024-08-16 10:37:50.899900] [STDOUT] stdout: Dropdown Item 1 doesn't have the right semantics
[2024-08-16 10:37:50.899923] [STDOUT] stdout: 
[2024-08-16 10:37:50.899991] [STDOUT] stdout: When the exception was thrown, this was the stack:
[2024-08-16 10:37:50.900021] [STDOUT] stdout: #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/qa/Documents/flutter/dev/integration_tests/android_semantics_testing/integration_test/main_test.dart:482:13)
[2024-08-16 10:37:50.900439] [STDOUT] stdout: <asynchronous suspension>
[2024-08-16 10:37:50.900529] [STDOUT] stdout: #5      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:189:15)
[2024-08-16 10:37:50.900562] [STDOUT] stdout: <asynchronous suspension>
[2024-08-16 10:37:50.900586] [STDOUT] stdout: #6      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1032:5)
[2024-08-16 10:37:50.902863] [STDOUT] stdout: <asynchronous suspension>
[2024-08-16 10:37:50.902957] [STDOUT] stdout: <asynchronous suspension>
[2024-08-16 10:37:50.902985] [STDOUT] stdout: (elided one frame from package:stack_trace)
[2024-08-16 10:37:50.903005] [STDOUT] stdout: 
[2024-08-16 10:37:50.903048] [STDOUT] stdout: This was caught by the test expectation on the following line:
[2024-08-16 10:37:50.904418] [STDOUT] stdout:   file:///Users/qa/Documents/flutter/dev/integration_tests/android_semantics_testing/integration_test/main_test.dart line 482
[2024-08-16 10:37:50.904475] [STDOUT] stdout: The test description was:
[2024-08-16 10:37:50.904495] [STDOUT] stdout:   Dropdown Menu has correct Android semantics
[2024-08-16 10:37:50.907067] [STDOUT] stdout: ════════════════════════════════════════════════════════════════════════════════════════════════════

Code sample

Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration

[Upload media here]

Logs

Full Logs: android_semantics_integration_test.txt

Flutter Doctor output

Doctor output
[✓] Flutter (Channel master, 3.24.0-1.0.pre.607, on macOS 14.5 23F79 darwin-arm64, locale en-UY)
    • Flutter version 3.24.0-1.0.pre.607 on channel master at /Users/qa/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 19fdece6c1 (5 hours ago), 2024-08-16 11:11:37 -0400
    • Engine revision d5bf3afc60
    • Dart version 3.6.0 (build 3.6.0-146.0.dev)
    • DevTools version 2.38.0

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    • Android SDK at /Users/qa/Library/Android/sdk
    • Platform android-35, build-tools 35.0.0
    • ANDROID_SDK_ROOT = /Users/qa/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
    • Xcode at /Applications/Xcode-beta.app/Contents/Developer
    • Build 16B5001e
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)

[✓] VS Code (version 1.87.2)
    • VS Code at /Users/qa/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.94.0

[✓] Connected device (5 available)            
    • Pixel 8 Pro (mobile)            • 3B101FDJG000F0            • android-arm64  • Android 15 (API 35)
    • Hairon's iPhone (mobile)        • 00008130-001260E82E04001C • ios            • iOS 17.6.1 21G93
    • macOS (desktop)                 • macos                     • darwin-arm64   • macOS 14.5 23F79 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin         • macOS 14.5 23F79 darwin-arm64
    • Chrome (web)                    • chrome                    • web-javascript • Google Chrome 127.0.6533.120

[✓] Network resources
    • All expected network resources are available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)found in release: 3.40Found to occur in 3.40frameworkflutter/packages/flutter repository. See also f: labels.from: manual-qaIssue caught from manual QA processhas reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-androidAndroid applications specificallyteam-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)triaged-accessibilityTriaged by Framework Accessibility team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions