File tree 5 files changed +82
-0
lines changed
integration_tests/flutter_gallery/test_driver 5 files changed +82
-0
lines changed Original file line number Diff line number Diff line change @@ -1957,6 +1957,17 @@ targets:
1957
1957
task_name : new_gallery__crane_perf
1958
1958
scheduler : luci
1959
1959
1960
+ - name : Linux_android old_gallery__transition_perf
1961
+ bringup : true
1962
+ recipe : devicelab/devicelab_drone
1963
+ presubmit : false
1964
+ timeout : 60
1965
+ properties :
1966
+ tags : >
1967
+ ["devicelab", "android", "linux"]
1968
+ task_name : old_gallery__transition_perf
1969
+ scheduler : luci
1970
+
1960
1971
- name : Linux_android new_gallery__transition_perf
1961
1972
recipe : devicelab/devicelab_drone
1962
1973
presubmit : false
Original file line number Diff line number Diff line change 64
64
/dev/devicelab/bin/tasks/list_text_layout_impeller_perf__e2e_summary.dart @dnfield @flutter/engine
65
65
/dev/devicelab/bin/tasks/multi_widget_construction_perf__e2e_summary.dart @zanderso @flutter/engine
66
66
/dev/devicelab/bin/tasks/new_gallery__crane_perf.dart @zanderso @flutter/engine
67
+ /dev/devicelab/bin/tasks/old_gallery__transition_perf.dart @jonahwilliams @flutter/engine
67
68
/dev/devicelab/bin/tasks/picture_cache_perf__e2e_summary.dart @zanderso @flutter/engine
68
69
/dev/devicelab/bin/tasks/platform_channels_benchmarks.dart @gaaclarke @flutter/engine
69
70
/dev/devicelab/bin/tasks/platform_views_scroll_perf__timeline_summary.dart @zanderso @flutter/engine
Original file line number Diff line number Diff line change
1
+ // Copyright 2014 The Flutter Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ import 'package:flutter_devicelab/framework/devices.dart' ;
6
+ import 'package:flutter_devicelab/framework/framework.dart' ;
7
+ import 'package:flutter_devicelab/framework/utils.dart' ;
8
+ import 'package:flutter_devicelab/tasks/perf_tests.dart' ;
9
+
10
+ void main () async {
11
+ deviceOperatingSystem = DeviceOperatingSystem .android;
12
+ await task (PerfTest (
13
+ '${flutterDirectory .path }/dev/integration_tests/flutter_gallery' ,
14
+ 'test_driver/page_transitions_perf.dart' ,
15
+ 'page_transition_perf' ,
16
+ ).run);
17
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright 2014 The Flutter Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ import 'package:flutter/material.dart' ;
6
+ import 'package:flutter_driver/driver_extension.dart' ;
7
+ import 'package:flutter_gallery/gallery/app.dart' show GalleryApp;
8
+
9
+ void main () {
10
+ enableFlutterDriverExtension ();
11
+ // As in lib/main.dart: overriding https://github.com/flutter/flutter/issues/13736
12
+ // for better visual effect at the cost of performance.
13
+ runApp (const GalleryApp (testMode: true ));
14
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright 2014 The Flutter Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ import 'package:flutter_driver/flutter_driver.dart' ;
6
+ import 'package:test/test.dart' hide TypeMatcher, isInstanceOf;
7
+
8
+ void main () {
9
+ group ('page transition performance test' , () {
10
+ late FlutterDriver driver;
11
+
12
+ setUpAll (() async {
13
+ driver = await FlutterDriver .connect ();
14
+
15
+ await driver.waitUntilFirstFrameRasterized ();
16
+ });
17
+
18
+ tearDownAll (() async {
19
+ driver.close ();
20
+ });
21
+
22
+ test ('measure' , () async {
23
+ final Timeline timeline = await driver.traceAction (() async {
24
+ await driver.tap (find.text ('Material' ));
25
+
26
+ for (int i = 0 ; i < 10 ; i++ ) {
27
+ await driver.tap (find.text ('Banner' ));
28
+ await Future <void >.delayed (const Duration (milliseconds: 500 ));
29
+ await driver.waitFor (find.byTooltip ('Back' ));
30
+ await driver.tap (find.byTooltip ('Back' ));
31
+ await Future <void >.delayed (const Duration (milliseconds: 500 ));
32
+ }
33
+ });
34
+
35
+ final TimelineSummary summary = TimelineSummary .summarize (timeline);
36
+ await summary.writeTimelineToFile ('page_transition_perf' , pretty: true );
37
+ }, timeout: Timeout .none);
38
+ });
39
+ }
You can’t perform that action at this time.
0 commit comments