mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

Closes https://github.com/flutter/flutter/issues/161449. ~3 LOC, with 203 lines of tests (including an e2e integration test that it actually works). Feedback welcome! (The reason I'm working on this is the ability to pass environment variables makes it much easier and less hacky to make `android_engine_test` configurable, i.e. have different expected outputs for OpenGLES/Vulkan, compare screenshots locally for deflaking, etc).
44 lines
1.5 KiB
Dart
44 lines
1.5 KiB
Dart
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import 'package:flutter_tools/src/base/common.dart';
|
|
import 'package:flutter_tools/src/base/logger.dart';
|
|
import 'package:flutter_tools/src/base/platform.dart';
|
|
import 'package:flutter_tools/src/base/process.dart';
|
|
import 'package:flutter_tools/src/drive/web_driver_service.dart';
|
|
import 'package:package_config/package_config_types.dart';
|
|
|
|
import '../src/common.dart';
|
|
import '../src/fake_process_manager.dart';
|
|
|
|
void main() {
|
|
testWithoutContext(
|
|
'WebDriverService catches SocketExceptions cleanly and includes link to documentation',
|
|
() async {
|
|
final BufferLogger logger = BufferLogger.test();
|
|
final WebDriverService service = WebDriverService(
|
|
logger: logger,
|
|
processUtils: ProcessUtils(logger: logger, processManager: FakeProcessManager.empty()),
|
|
dartSdkPath: 'dart',
|
|
platform: FakePlatform(),
|
|
);
|
|
const String link = 'https://flutter.dev/to/integration-test-on-web';
|
|
try {
|
|
await service.startTest(
|
|
'foo.test',
|
|
<String>[],
|
|
PackageConfig(<Package>[Package('test', Uri.base)]),
|
|
driverPort: 1,
|
|
headless: true,
|
|
browserName: 'chrome',
|
|
);
|
|
fail('WebDriverService did not throw as expected.');
|
|
} on ToolExit catch (error) {
|
|
expect(error.message, isNot(contains('SocketException')));
|
|
expect(error.message, contains(link));
|
|
}
|
|
},
|
|
);
|
|
}
|