UNPKG

nightwatch

Version:

Easy to use Node.js based end-to-end testing solution for web applications using the W3C WebDriver API.

68 lines (51 loc) 1.45 kB
const chrome = require('selenium-webdriver/chrome'); const BaseService = require('./base-service.js'); class ChromeServiceBuilder extends BaseService { static get serviceName() { return 'ChromeDriver'; } static get defaultPort() { return 9515; } get npmPackageName() { return 'chromedriver'; } get outputFile() { return this._outputFile + '_chromedriver.log'; } get serviceName() { return ChromeServiceBuilder.serviceName; } get serviceDownloadUrl() { return 'https://sites.google.com/chromium.org/driver/downloads'; } /** * @param {Capabilities} options * @returns {Promise<void>} */ async createService(options) { const {server_path} = this.settings.webdriver; this.service = new chrome.ServiceBuilder(server_path); let enableVerboseLogging = true; if (Array.isArray(this.cliArgs) && this.cliArgs.length > 0) { this.service.addArguments(...this.cliArgs); for (const arg of this.cliArgs) { if (arg === '--silent' || arg.startsWith('--log-level=')) { enableVerboseLogging = false; break; } } } if (enableVerboseLogging) { this.service.enableVerboseLogging(); } if (process.platform !== 'win32') { this.service.enableChromeLogging(); } return super.createService(); } get requiresDriverBinary() { return false; } } module.exports = ChromeServiceBuilder;