Quiero verificar la descarga de archivos usando NodeJS y Webdriverio. El archivo a descargar es en formato PDF. Cuando WebDriverIO hace clic en "Descargar", Firefox abre la siguiente ventana de confirmación de descarga: 
Quiero que Firefox descargue el archivo automáticamente sin mostrar la ventana de confirmación anterior, así que utilicé el siguiente código:
conf_firefox.js file require('dotenv').config(); const path = require('path'); const merge = require('deepmerge'); const baseConfig = require('./wdio.conf_base'); exports.config = merge(baseConfig.config, { services: ['selenium-standalone'], capabilities: [ { maxInstances: 2, browserName: 'firefox', 'moz:firefoxOptions': { prefs: { 'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'), 'browser.helperApps.neverAsk.saveToDisk': 'application/pdf', }, }, acceptInsecureCerts: true, }, ], });pero todavía Firefox muestra la misma ventana. ¿Cómo puedo configurar el perfil de Firefox para que los archivos PDF se descarguen automáticamente sin mostrar el diálogo de confirmación? Para Chrome todo funciona correctamente. ¡Gracias!
Esta gorra funciona para mí:
{ browserName: "firefox", "moz:firefoxOptions": { prefs: { "browser.download.dir": downloadDir, "browser.download.useDownloadDir": true, "browser.helperApps.alwaysAsk.force": false, "browser.helperApps.neverAsk.saveToDisk": "application/pdf,image/jpeg,image/jpg,text/calendar,text/csv", "pdfjs.disabled": true, }, }, }Encontré una solución: acabo de agregar 'pdfjs.disabled': true y en lugar de application/json , use application/octet-stream .
browserName: 'firefox', 'moz:firefoxOptions': { prefs: { 'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'), 'browser.download.folderList': 2, 'browser.helperApps.neverAsk.saveToDisk': 'application/octet-stream', 'pdfjs.disabled': true, }, },