private void loadChannelPref() { Path channelPrefs = getResource("defaults/pref/channel-prefs.js"); if (Files.exists(channelPrefs)) { try (BufferedReader reader = Files.newBufferedReader(channelPrefs)) { channel = reader.lines() .map(String::trim) .filter(line -> line.startsWith("pref(\"app.update.channel\"")) .findFirst() .map(line -> FirefoxBinary.Channel.fromString( line.substring("pref(\"app.update.channel\", \"".length(), line.length() - "\");".length()))) .orElseThrow(() -> new WebDriverException("Cannot get channel info for Firefox binary " + binary)); } catch (IOException e) { throw new WebDriverException("Cannot get channel info for Firefox binary " + binary, e); } } else { // Pick a sane default channel = FirefoxBinary.Channel.RELEASE; } }