Resize Screenshot

This commit is contained in:
Sarah Jamie Lewis 2023-01-31 19:10:46 -08:00
parent 94b6d96468
commit cdcdec9915
3 changed files with 22 additions and 8 deletions

View File

@ -5,12 +5,12 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:image/image.dart';
import 'package:integration_test/integration_test.dart';
import 'app_driver_adapter.dart';
class WidgetTesterAppDriverAdapter
extends AppDriverAdapter<WidgetTester, Finder, Widget> {
class WidgetTesterAppDriverAdapter extends AppDriverAdapter<WidgetTester, Finder, Widget> {
IntegrationTestWidgetsFlutterBinding binding;
bool waitImplicitlyAfterAction;
@ -88,8 +88,16 @@ class WidgetTesterAppDriverAdapter
return await layer
.toImage(renderObject.semanticBounds)
.then((value) => value.toByteData(format: ui.ImageByteFormat.png))
.then((value) => value!.buffer.asUint8List());
.then((value) => value.toByteData(
format: ui.ImageByteFormat.png,
))
.then((value) => value!.buffer.asUint8List())
.then((value) {
final image = decodePng(value);
final resized = copyResize(image!, width: 120);
final resizedByteData = encodePng(image);
return resizedByteData!.buffer.asUint8List();
});
}
throw Exception('Unable to take screenshot on Android device');
@ -97,8 +105,7 @@ class WidgetTesterAppDriverAdapter
@override
Future<List<int>> screenshot({String? screenshotName}) async {
final name =
screenshotName ?? 'screenshot_${DateTime.now().millisecondsSinceEpoch}';
final name = screenshotName ?? 'screenshot_${DateTime.now().millisecondsSinceEpoch}';
if (kIsWeb || Platform.isAndroid) {
// try {
// // TODO: See https://github.com/flutter/flutter/issues/92381
@ -146,8 +153,7 @@ class WidgetTesterAppDriverAdapter
return instance.controller?.text;
}
throw Exception(
'Unable to get text from unknown type `${instance.runtimeType}`');
throw Exception('Unable to get text from unknown type `${instance.runtimeType}`');
}
@override

View File

@ -196,6 +196,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.15.0"
image:
dependency: "direct main"
description:
name: image
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.13"
integration_test:
dependency: "direct main"
description: flutter

View File

@ -21,6 +21,7 @@ dependencies:
source_gen: ^1.1.1
build: ^2.1.1
glob: ^2.0.2
image: ^4.0.13
dev_dependencies:
meta: '>=1.7.0 < 2.0.0'