Unverified Commit 8158b478 authored by Jia Hao's avatar Jia Hao Committed by GitHub

Add tests for integration tests to devicelab (#79258)

parent 9bbe89d8
// 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_devicelab/tasks/integration_tests.dart';
import 'package:flutter_devicelab/framework/adb.dart';
import 'package:flutter_devicelab/framework/framework.dart';
Future<void> main() async {
deviceOperatingSystem = DeviceOperatingSystem.android;
await task(createEndToEndIntegrationTest());
}
// 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_devicelab/tasks/integration_tests.dart';
import 'package:flutter_devicelab/framework/adb.dart';
import 'package:flutter_devicelab/framework/framework.dart';
Future<void> main() async {
deviceOperatingSystem = DeviceOperatingSystem.ios;
await task(createEndToEndIntegrationTest());
}
...@@ -124,6 +124,13 @@ TaskFunction dartDefinesTask() { ...@@ -124,6 +124,13 @@ TaskFunction dartDefinesTask() {
); );
} }
TaskFunction createEndToEndIntegrationTest() {
return IntegrationTest(
'${flutterDirectory.path}/dev/integration_tests/ui',
'integration_test/integration_test.dart',
);
}
class DriverTest { class DriverTest {
DriverTest( DriverTest(
this.testDirectory, this.testDirectory,
...@@ -162,3 +169,29 @@ class DriverTest { ...@@ -162,3 +169,29 @@ class DriverTest {
}); });
} }
} }
class IntegrationTest {
IntegrationTest(this.testDirectory, this.testTarget);
final String testDirectory;
final String testTarget;
Future<TaskResult> call() {
return inDirectory<TaskResult>(testDirectory, () async {
final Device device = await devices.workingDevice;
await device.unlock();
final String deviceId = device.deviceId;
await flutter('packages', options: <String>['get']);
final List<String> options = <String>[
'-v',
'-d',
deviceId,
testTarget,
];
await flutter('test', options: options);
return TaskResult.success(null);
});
}
}
// 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_test/flutter_test.dart';
import 'package:integration_ui/build_mode.dart' as app;
void main() {
group('Integration Test', () {
testWidgets('smoke test', (WidgetTester tester) async {
app.main();
await tester.pumpAndSettle();
expect(find.text('Hello, world!'), findsOneWidget);
});
});
}
...@@ -13,6 +13,8 @@ dependencies: ...@@ -13,6 +13,8 @@ dependencies:
sdk: flutter sdk: flutter
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
integration_test:
sdk: flutter
test: 1.16.5 test: 1.16.5
_fe_analyzer_shared: 19.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" _fe_analyzer_shared: 19.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
......
...@@ -726,6 +726,12 @@ ...@@ -726,6 +726,12 @@
"task_name": "mac_android_integration_ui_textfield", "task_name": "mac_android_integration_ui_textfield",
"flaky": false "flaky": false
}, },
{
"name": "Mac_android integration_test_test",
"repo": "flutter",
"task_name": "mac_android_integration_test_test",
"flaky": false
},
{ {
"name": "Mac_android microbenchmarks", "name": "Mac_android microbenchmarks",
"repo": "flutter", "repo": "flutter",
...@@ -1062,6 +1068,12 @@ ...@@ -1062,6 +1068,12 @@
"task_name": "mac_ios_integration_ui_ios_textfield", "task_name": "mac_ios_integration_ui_ios_textfield",
"flaky": false "flaky": false
}, },
{
"name": "Mac_ios integration_test_test_ios",
"repo": "flutter",
"task_name": "mac_ios_integration_test_test_ios",
"flaky": false
},
{ {
"name": "Mac_ios ios_app_with_extensions_test", "name": "Mac_ios ios_app_with_extensions_test",
"repo": "flutter", "repo": "flutter",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment