Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flutter web integration tests failing #7732

Open
kenzieschmoll opened this issue May 9, 2024 · 6 comments
Open

Flutter web integration tests failing #7732

kenzieschmoll opened this issue May 9, 2024 · 6 comments
Assignees
Labels
integration tests P2 important to work on, but not at the top of the work list. web debugging Issues related to debugging a web app

Comments

@kenzieschmoll
Copy link
Member

Example failure: https://github.com/flutter/devtools/actions/runs/9019966240/job/24787570258?pr=7731

This reproduces on the master branch locally: dart run integration_test/run_tests.dart --target=integration_test/test/live_connection/debugger_panel_test.dart --test-app-device=chrome

Failure logs from local run (failure occurs after performing a hot restart):

FlutterDriveProcess - Launching integration_test/test/live_connection/debugger_panel_test.dart on Chrome in debug mode...
FlutterDriveProcess - Waiting for connection from debug service on Chrome...          
FlutterDriveProcess - Warning: In index.html:55: Local variable for "serviceWorkerVersion" is deprecated. Use "{{flutter_service_worker_version}}" template token instead.
FlutterDriveProcess - Warning: In index.html:92: "FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead.
FlutterDriveProcess - Warning: In index.html:113: "FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead.
FlutterDriveProcess - Waiting for connection from debug service on Chrome...             68.5s
FlutterDriveProcess - This app is linked to the debug service: ws://127.0.0.1:52704/B6InlRhbaIo=/ws
FlutterDriveProcess - Debug service listening on ws://127.0.0.1:52704/B6InlRhbaIo=/ws
FlutterDriveProcess - 00:00 +0: (setUpAll)
FlutterDriveProcess - 00:00 +1: Debugger panel
ChromeDriver - [1715275866.798][WARNING]: This version of ChromeDriver has not been tested with Chrome version 124.
FlutterDriveProcess - devtools server not available (200)
FlutterDriveProcess - DevTools version 2.36.0-dev.6.
FlutterDriveProcess - No DTD uri provided from the server during initialization.
FlutterDriveProcess - DevTools log level changed to INFO
FlutterDriveProcess - TEST STATUS: connecting to test app
FlutterDriveProcess - Attempted to call extension 'ext.flutter.inspector.structuredErrors', but no service with that name exists
FlutterDriveProcess - readyToResume: (106) Can only perform operation while paused.
FlutterDriveProcess - getSourceReport: (-32602) Source report kind Coverage not supported
FlutterDriveProcess - TEST STATUS: switching to debugger screen (icon IconData(U+0F112))
FlutterDriveProcess - TEST STATUS: looking for the main.dart file
FlutterDriveProcess - TEST STATUS: Navigating to line 57...
FlutterDriveProcess - TEST STATUS: opening the "more" menu
FlutterDriveProcess - Semantic node 261 had both scopesRoute and namesRoute set, indicating a self-labelled dialog, but it is missing the label. A dialog should be labelled either by setting namesRoute on itself and providing a label, or by containing a child node with namesRoute that can describe it with its content.
FlutterDriveProcess - Semantic node 261 had both scopesRoute and namesRoute set, indicating a self-labelled dialog, but it is missing the label. A dialog should be labelled either by setting namesRoute on itself and providing a label, or by containing a child node with namesRoute that can describe it with its content.
FlutterDriveProcess - Semantic node 261 had both scopesRoute and namesRoute set, indicating a self-labelled dialog, but it is missing the label. A dialog should be labelled either by setting namesRoute on itself and providing a label, or by containing a child node with namesRoute that can describe it with its content.
FlutterDriveProcess - TEST STATUS: selecting the go-to-line menu option
FlutterDriveProcess - TEST STATUS: entering line number 57 in the go-to-line dialog
FlutterDriveProcess - TEST STATUS: looking for line 57
FlutterDriveProcess - TEST STATUS: setting a breakpoint
FlutterDriveProcess - TEST STATUS: performing a hot restart
FlutterDriveProcess - getSourceReport: (-32602) Source report kind Coverage not supported
FlutterDriveProcess - readyToResume: (106) Can only perform operation while paused.
FlutterDriveProcess - result {"result":"false","failureDetails":["{\"methodName\":\"Debugger panel\",\"details\":\"══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════\\nThe following TestFailure was thrown running a test:\\nExpected: exactly one matching candidate\\n  Actual: _TextContainingWidgetFinder:<Found 0 widgets with text\\ncontaining Go to line number: []>\\n   Which: means none were found but one was expected\\n\\nWhen the exception was thrown, this was the stack:\\ndart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 296:3  throw_\\npackages/matcher/src/expect/expect.dart 149:31                               fail\\npackages/matcher/src/expect/expect.dart 144:3                                _expect\\npackages/matcher/src/expect/expect.dart 56:3                                 expect$\\npackages/flutter_test/src/widget_tester.dart 474:18                          expect$\\ndebugger_panel_test.dart 208:3                                               goToLine\\ndart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50           <fn>\\ndart-sdk/lib/async/zone.dart 1407:47                                         _rootRunUnary\\ndart-sdk/lib/async/zone.dart 1308:19                                         runUnary\\ndart-sdk/lib/async/future_impl.dart 163:18                                   handleValue\\ndart-sdk/lib/async/future_impl.dart 847:44                                   handleValueCallback\\ndart-sdk/lib/async/future_impl.dart 876:13                                   _propagateToListeners\\ndart-sdk/lib/async/future_impl.dart 652:5                                    [_completeWithValue]\\ndart-sdk/lib/async/future_impl.dart 722:7                                    <fn>\\ndart-sdk/lib/async/zone.dart 1399:13                                         _rootRun\\ndart-sdk/lib/async/zone.dart 1301:19                                         run\\ndart-sdk/lib/async/zone.dart 1209:7                                          runGuarded\\ndart-sdk/lib/async/zone.dart 1249:23                                         callback\\ndart-sdk/lib/async/schedule_microtask.dart 40:11                             _microtaskLoop\\ndart-sdk/lib/async/schedule_microtask.dart 49:5                              _startMicrotaskLoop\\ndart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:7           <fn>\\n\\nThe test description was:\\n  Debugger panel\\n═════════════════════════════════════════════════════════════════\\n\"}"]}
FlutterDriveProcess - Failure Details:
FlutterDriveProcess - Failure in method: Debugger panel
FlutterDriveProcess - ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════
FlutterDriveProcess - The following TestFailure was thrown running a test:
FlutterDriveProcess - Expected: exactly one matching candidate
FlutterDriveProcess -   Actual: _TextContainingWidgetFinder:<Found 0 widgets with text
FlutterDriveProcess - containing Go to line number: []>
FlutterDriveProcess -    Which: means none were found but one was expected
FlutterDriveProcess - 
FlutterDriveProcess - When the exception was thrown, this was the stack:
FlutterDriveProcess - dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 296:3  throw_
FlutterDriveProcess - packages/matcher/src/expect/expect.dart 149:31                               fail
FlutterDriveProcess - packages/matcher/src/expect/expect.dart 144:3                                _expect
FlutterDriveProcess - packages/matcher/src/expect/expect.dart 56:3                                 expect$
FlutterDriveProcess - packages/flutter_test/src/widget_tester.dart 474:18                          expect$
FlutterDriveProcess - debugger_panel_test.dart 208:3                                               goToLine
FlutterDriveProcess - dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50           <fn>
FlutterDriveProcess - dart-sdk/lib/async/zone.dart 1407:47                                         _rootRunUnary
FlutterDriveProcess - dart-sdk/lib/async/zone.dart 1308:19                                         runUnary
FlutterDriveProcess - dart-sdk/lib/async/future_impl.dart 163:18                                   handleValue
FlutterDriveProcess - dart-sdk/lib/async/future_impl.dart 847:44                                   handleValueCallback
FlutterDriveProcess - dart-sdk/lib/async/future_impl.dart 876:13                                   _propagateToListeners
FlutterDriveProcess - dart-sdk/lib/async/future_impl.dart 652:5                                    [_completeWithValue]
FlutterDriveProcess - dart-sdk/lib/async/future_impl.dart 722:7                                    <fn>
FlutterDriveProcess - dart-sdk/lib/async/zone.dart 1399:13                                         _rootRun
FlutterDriveProcess - dart-sdk/lib/async/zone.dart 1301:19                                         run
FlutterDriveProcess - dart-sdk/lib/async/zone.dart 1209:7                                          runGuarded
FlutterDriveProcess - dart-sdk/lib/async/zone.dart 1249:23                                         callback
FlutterDriveProcess - dart-sdk/lib/async/schedule_microtask.dart 40:11                             _microtaskLoop
FlutterDriveProcess - dart-sdk/lib/async/schedule_microtask.dart 49:5                              _startMicrotaskLoop
FlutterDriveProcess - dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:7           <fn>
FlutterDriveProcess - 
FlutterDriveProcess - The test description was:
FlutterDriveProcess -   Debugger panel
FlutterDriveProcess - ═════════════════════════════════════════════════════════════════
@kenzieschmoll kenzieschmoll added integration tests P1 high priority issues at the top of the work list, actively being worked on. web debugging Issues related to debugging a web app labels May 9, 2024
@kenzieschmoll
Copy link
Member Author

I tested locally using flutter candidate version 3.22.0-25.0.pre, and it passed. The flutter candidate version was changed to 3.22.0-26.0.pre in 689cbd6. It is another issue that this was auto submitted and the test didn't fail on this commit. I would have expected the bots to fail on this commit if bumping the flutter candidate version is what triggered this failure.

@elliette
Copy link
Member

elliette commented May 9, 2024

Some notes while investigating. Initially I though this might be around the work around hot-restart and breakpoints (#7231) but none of the packages that were touched for that work changed between 3.22.0-25.0.pre and 3.22.0-26.0.pre.

3.22.0-25.0.pre:

  • dwds: 24.0.0
  • dds: 4.1.0
  • dap: 1.2.0

3.22.0-26.0.pre:

  • dwds: 24.0.0
  • dds: 4.1.0
  • dap: 1.2.0

@elliette
Copy link
Member

elliette commented May 9, 2024

Possibly related: Flutter integration tests have been flaking for hot restart/reload as well: flutter/flutter#146879

@elliette
Copy link
Member

elliette commented May 9, 2024

I increased the pumpDuration after hot-restart, and got a bit further in the test. The actual failure (I believe) is the more menu dialog is either not properly opening, or the "Go to" option is not being found. One thing I noticed is that the "Go to line" option is painted after the first two options in the dialog:

Screenshot 2024-05-09 at 1 17 08 PM

Screenshot 2024-05-09 at 1 18 07 PM

Tested the app locally and hot-restarting then setting breakpoint is working as expected, so I'm going to lower the priority (I don't think this is a real regression affecting debugging functionality).

@elliette elliette added P2 important to work on, but not at the top of the work list. and removed P1 high priority issues at the top of the work list, actively being worked on. labels May 9, 2024
@elliette
Copy link
Member

elliette commented May 9, 2024

Note: this test is also failing for me on 3.22.0-25.0.pre (though it did pass once)

@sadibekov
Copy link

Hello @kenzieschmoll, do you have solution to solve this warning on the web?
"FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead.
Actually I added this, but I have another warning instead:
Uncaught (in promise) FlutterLoader.load requires _flutter.buildConfig to be set

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integration tests P2 important to work on, but not at the top of the work list. web debugging Issues related to debugging a web app
Projects
None yet
Development

No branches or pull requests

3 participants