Repository: flutter
Issue: web tests: ChromeLauncher._connect is still flaky
Labels: a: tests,tool,platform-web,P2,c: flake,team-web,triaged-web

We still sometimes fail attempting to connect to Chrome from web tests:

```
01:44 +221 ~2 -1: compiling /b/s/w/ir/k/flutter/packages/flutter/test/animation/listener_helpers_test.dart [E]                                                                                         
  Failed to load "/b/s/w/ir/k/flutter/packages/flutter/test/animation/listener_helpers_test.dart":
  Unable to connect to Chrome debug port: 45891
   HttpException: , uri = http://localhost:45891/json
  package:flutter_tools/src/base/common.dart 10:3                throwToolExit
  package:flutter_tools/src/web/chrome.dart 359:9                ChromiumLauncher._connect
  ===== asynchronous gap ===========================
  dart:async/future.dart 271:46                                  new Future.error
  package:test_core/src/runner/loader.dart 239:26                Loader.loadFile.<fn>
  ===== asynchronous gap ===========================
  dart:async/zone.dart 1294:19                                   _CustomZone.registerBinaryCallback
  dart:async-patch/async_patch.dart 51:8                         _asyncErrorWrapperHelper
  package:test_core/src/runner/loader.dart                       Loader.loadFile.<fn>
  package:test_core/src/runner/load_suite.dart 97:31             new LoadSuite.<fn>.<fn>
  package:test_core/src/runner/load_suite.dart 96:17             new LoadSuite.<fn>.<fn>
  package:test_core/src/runner/load_suite.dart 107:8             new LoadSuite.<fn>
  package:test_api/src/backend/invoker.dart 231:15               Invoker.waitForOutstandingCallbacks.<fn>
  package:test_api/src/backend/invoker.dart 228:14               Invoker.waitForOutstandingCallbacks.<fn>
  dart:async/zone.dart 1354:13                                   _rootRun
  dart:async/zone.dart 1258:19                                   _CustomZone.run
  dart:async/zone.dart 1788:10                                   _runZoned
  dart:async/zone.dart 1710:10                                   runZoned
  package:test_api/src/backend/invoker.dart 228:5                Invoker.waitForOutstandingCallbacks
  package:test_api/src/backend/invoker.dart 383:17               Invoker._onRun.<fn>.<fn>.<fn>
  ===== asynchronous gap ===========================
  dart:async/zone.dart 1286:19                                   _CustomZone.registerUnaryCallback
  dart:async-patch/async_patch.dart 40:23                        _asyncThenWrapperHelper
  package:test_api/src/backend/invoker.dart                      Invoker._onRun.<fn>.<fn>.<fn>
  dart:async/zone.dart 1354:13                                   _rootRun
  dart:async/zone.dart 1258:19                                   _CustomZone.run
  dart:async/zone.dart 1788:10                                   _runZoned
  dart:async/zone.dart 1710:10                                   runZoned
  package:test_api/src/backend/invoker.dart 370:9                Invoker._onRun.<fn>.<fn>
  dart:async/zone.dart 1354:13                                   _rootRun
  dart:async/zone.dart 1258:19                                   _CustomZone.run
  dart:async/zone.dart 1788:10                                   _runZoned
  dart:async/zone.dart 1710:10                                   runZoned
  package:test_api/src/backend/invoker.dart 150:7                Invoker.guard
  package:test_api/src/backend/invoker.dart 413:15               Invoker._guardIfGuarded
  package:test_api/src/backend/invoker.dart 369:7                Invoker._onRun.<fn>
  package:stack_trace/src/chain.dart 94:24                       Chain.capture.<fn>
  dart:async/zone.dart 1354:13                                   _rootRun
  dart:async/zone.dart 1258:19                                   _CustomZone.run
  dart:async/zone.dart 1788:10                                   _runZoned
  dart:async/zone.dart 1710:10                                   runZoned
  package:stack_trace/src/chain.dart 92:12                       Chain.capture
  package:test_api/src/backend/invoker.dart 368:11               Invoker._onRun
  package:test_api/src/backend/live_test_controller.dart 153:11  LiveTestController.run
  dart:async/future.dart 198:37                                  new Future.microtask.<fn>
  dart:async/zone.dart 1346:47                                   _rootRun
  dart:async/zone.dart 1258:19                                   _CustomZone.run
  dart:async/zone.dart 1162:7                                    _CustomZone.runGuarded
  dart:async/zone.dart 1202:23                                   _CustomZone.bindCallbackGuarded.<fn>
  dart:async/zone.dart 1354:13                                   _rootRun
  dart:async/zone.dart 1258:19                                   _CustomZone.run
  dart:async/zone.dart 1162:7                                    _CustomZone.runGuarded
  dart:async/zone.dart 1202:23                                   _CustomZone.bindCallbackGuarded.<fn>
  dart:async/schedule_microtask.dart 40:21                       _microtaskLoop
  dart:async/schedule_microtask.dart 49:5                        _startMicrotaskLoop
  dart:isolate-patch/isolate_patch.dart 120:13                   _runPendingImmediateCallback
  dart:isolate-patch/timer_impl.dart 402:11                      _Timer._runTimers
  dart:isolate-patch/timer_impl.dart 426:5                       _Timer._handleMessage
  dart:isolate-patch/isolate_patch.dart 184:12                   _RawReceivePortImpl._handleMessage
```

[Full log](https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8857658861814425120/+/steps/run_test.dart_for_web_tests_shard_and_subshard_5/0/stdout)