start method

Future<void> start({
  1. bool debugLogging = false,
})

Implementation

Future<void> start({bool debugLogging = false}) async {
  try {
    const chromedriverExe = 'chromedriver';
    const chromedriverArgs = ['--port=$port'];
    if (debugLogging) {
      print('${DateTime.now()}: starting the chromedriver process');
      print(
        '${DateTime.now()}: > $chromedriverExe '
        '${chromedriverArgs.join(' ')}',
      );
    }
    final process = _process = await Process.start(
      chromedriverExe,
      chromedriverArgs,
    );
    listenToProcessOutput(process, printTag: 'ChromeDriver');
    await _waitForPortOpen(port);
  } catch (e) {
    // ignore: avoid-throw-in-catch-block, by design
    throw Exception('Error starting chromedriver: $e');
  }
}