Resize Screenshot
This commit is contained in:
parent
94b6d96468
commit
cdcdec9915
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Reference in New Issue