diff --git a/packages/flutter_tools/lib/src/drive/web_driver_service.dart b/packages/flutter_tools/lib/src/drive/web_driver_service.dart index aa16f87f129..ac28c603dad 100644 --- a/packages/flutter_tools/lib/src/drive/web_driver_service.dart +++ b/packages/flutter_tools/lib/src/drive/web_driver_service.dart @@ -109,9 +109,11 @@ class WebDriverService extends DriverService { ); } on Exception catch (ex) { throwToolExit( - 'Unable to start WebDriver Session for Flutter for Web testing. \n' - 'Make sure you have the correct WebDriver Server running at $driverPort. \n' - 'Make sure the WebDriver Server matches option --browser-name. \n' + 'Unable to start WebDriver Session for Flutter for Web testing.\n' + 'Make sure you have the correct WebDriver Server running at $driverPort.\n' + 'Make sure the WebDriver Server matches option --browser-name.\n' + 'For more information see: ' + 'https://flutter.dev/docs/testing/integration-tests#running-in-a-browser\n' '$ex' ); } diff --git a/packages/flutter_tools/test/general.shard/drive/drive_service_test.dart b/packages/flutter_tools/test/general.shard/drive/drive_service_test.dart index 26c8678c964..78e294d7f80 100644 --- a/packages/flutter_tools/test/general.shard/drive/drive_service_test.dart +++ b/packages/flutter_tools/test/general.shard/drive/drive_service_test.dart @@ -16,6 +16,7 @@ import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/convert.dart'; import 'package:flutter_tools/src/device.dart'; import 'package:flutter_tools/src/drive/drive_service.dart'; +import 'package:flutter_tools/src/drive/web_driver_service.dart'; import 'package:flutter_tools/src/resident_runner.dart'; import 'package:flutter_tools/src/version.dart'; import 'package:flutter_tools/src/vmservice.dart'; @@ -454,6 +455,25 @@ void main() { ); await driverService.stop(); }); + + testWithoutContext('WebDriver error message includes link to documentation', () async { + const String link = 'https://flutter.dev/docs/testing/integration-tests#running-in-a-browser'; + final DriverService driverService = WebDriverService( + dartSdkPath: 'dart', + processUtils: ProcessUtils( + processManager: FakeProcessManager.empty(), + logger: BufferLogger.test(), + ), + ); + + expect(() => driverService.startTest( + 'foo.test', + [], + {}, + PackageConfig([Package('test', Uri.base)]), + browserName: 'chrome', + ), throwsToolExit(message: RegExp('\nFor more information see: $link\n'))); + }); } FlutterDriverService setUpDriverService({ @@ -517,6 +537,8 @@ class FakeDevice extends Fake implements Device { bool didUninstallApp = false; bool didDispose = false; bool failOnce = false; + @override + final PlatformType platformType = PlatformType.web; @override String get name => 'test';