Reland "Add a FlutterDriver screenshot test to device lab. #45411" (#46620)
diff --git a/dev/devicelab/bin/tasks/flutter_driver_screenshot_test_ios.dart b/dev/devicelab/bin/tasks/flutter_driver_screenshot_test_ios.dart new file mode 100644 index 0000000..8e92c0f --- /dev/null +++ b/dev/devicelab/bin/tasks/flutter_driver_screenshot_test_ios.dart
@@ -0,0 +1,14 @@ +// 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 'dart:async'; + +import 'package:flutter_devicelab/framework/adb.dart'; +import 'package:flutter_devicelab/framework/framework.dart'; +import 'package:flutter_devicelab/tasks/integration_tests.dart'; + +Future<void> main() async { + deviceOperatingSystem = DeviceOperatingSystem.ios; + await task(createFlutterDriverScreenshotTest()); +}
diff --git a/dev/devicelab/lib/tasks/integration_tests.dart b/dev/devicelab/lib/tasks/integration_tests.dart index 88d7b23..17ce1d6 100644 --- a/dev/devicelab/lib/tasks/integration_tests.dart +++ b/dev/devicelab/lib/tasks/integration_tests.dart
@@ -107,6 +107,13 @@ ); } +TaskFunction createFlutterDriverScreenshotTest() { + return DriverTest( + '${flutterDirectory.path}/dev/integration_tests/flutter_driver_screenshot_test', + 'lib/main.dart', + ); +} + class DriverTest { DriverTest(
diff --git a/dev/devicelab/manifest.yaml b/dev/devicelab/manifest.yaml index 7df2641..a373598 100644 --- a/dev/devicelab/manifest.yaml +++ b/dev/devicelab/manifest.yaml
@@ -509,6 +509,16 @@ required_agent_capabilities: ["mac/ios"] timeout_in_minutes: 20 + flutter_driver_screenshot_test_ios: + description: > + Screenshot tests running on a specifc iPhone 6. + The test makes sure that there is no regression while renderring an image with gl on iOS. + stage: devicelab_ios + required_agent_capabilities: ["mac/ios", "ios/gl-render-image"] + #TODO(cyanglaz): The flaky flag is added because it is the first screenshot test we added. + # Remove the flaky flag when we are sure the test is stable. + flaky: true + # TODO(fujino): does not pass on iOS13 https://github.com/flutter/flutter/issues/41133 # system_debug_ios: # description: >