runPlan method

Runs every test in plan and returns results keyed by test id.

Implementation

Future<EnsembleTestPlanRunResult> runPlan(
  EnsembleTestExecutionPlan plan,
  WidgetTester tester, {
  EnsembleTestProgressListener? onTestComplete,
}) async {
  final services = TestServiceManager(plan.config.services);
  await tester.runAsync(services.startAll);
  _activeScreenshotSheets = ScreenshotSheetAggregator(
    screenshots: plan.config.screenshots,
    devices: plan.config.devices,
  );
  try {
    return await _runPlan(
      plan,
      tester,
      onTestComplete: onTestComplete,
    );
  } finally {
    await _activeScreenshotSheets?.flushRemaining();
    _activeScreenshotSheets = null;
    await LiveAsyncCallSupport.run<void>(services.stopAll);
  }
}