execute method

  1. @override
Future<void> execute({
  1. required CancelToken cancelToken,
  2. required TestReport report,
  3. required TestController tester,
})
override

Requests a screenshot from the framework and attaches it to the report.

Implementation

@override
Future<void> execute({
  required CancelToken cancelToken,
  required TestReport report,
  required TestController tester,
}) async {
  final enabled = JsonClass.parseBool(
        tester.getVariable(ScreenshotStep.kDisableScreenshotVariable),
      ) !=
      true;

  if (enabled == true) {
    final imageId = tester.resolveVariable(this.imageId) ??
        '${id}_${report.images.length}';
    final name = "$id('$imageId', '$goldenCompatible')";
    log(
      name,
      tester: tester,
    );
    final image = await tester.screencap();

    if (image != null) {
      report.attachScreenshot(
        image,
        goldenCompatible: goldenCompatible,
        id: imageId,
      );
    }
  }
}