2013-03-08 3 views
1

Je fais des tests avec Selenium et JUnit. J'essaie d'exporter un rapport (pdf et xls). Avec Selenium, je clique sur le lien de téléchargement, et fais un verifcar pour affirmer que le fichier est dans le bon dossier.Télécharger automatiquement les fichiers pdf dans Firefox

J'ai été en mesure de tester avec le xls, mais Firefox demande toujours ce que je veux faire avec le PDF.

La configuration de Firefox, Sélénium est la suivante:

String downloadPath = new File("src/test/resources/firefox_download").getAbsolutePath(); 
firefoxProfile.setPreference("browser.download.dir", downloadPath); 
     firefoxProfile.setPreference("browser.download.lastDir", downloadPath); 
     firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false); 
     firefoxProfile.setPreference("plugin.disable_full_page_plugin_for_types", "application/pdf,application/vnd.fdf"); 

     firefoxProfile.setPreference("browser.download.folderList", 2); 
     firefoxProfile.setPreference("browser.download.defaultFolder", downloadPath); 
     firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf, application/vnd.fdf, application/x-msdos-program, application/x-unknown-application-octet-stream, application/vnd.ms-powerpoint, application/excel, application/vnd.ms-publisher, application/x-unknown-message-rfc822, application/vnd.ms-excel, application/msword, application/x-mspublisher, application/x-tar, application/zip, application/x-gzip,application/x-stuffit,application/vnd.ms-works, application/powerpoint, application/rtf, application/postscript, application/x-gtar, video/quicktime, video/x-msvideo, video/mpeg, audio/x-wav, audio/x-midi, audio/x-aiff"); // tipo específico 
     firefoxProfile.setPreference("browser.helperApps.alwaysAsk.force", false); 

je peux modifier manuellement, ici:

Manual 1

ou ici:

Manual 2

Mais je besoin de faire ce programme tiquement, ou un test échouera ailleurs (comme le serveur/sonar)

PS .: Firefox 19

Répondre

1

vous pouvez essayer de définir le type MIME à application/octet-stream si le doesnt navigateur sait comment le gérer, il va apparaître une boîte de dialogue save as

+0

Merci, ça marche! Aussi ajouté application/octet-stream dans browser.helperApps.neverAsk.saveToDisk – Falci

+0

Et dans le cas où il n'est pas possible de changer le type MIME du fichier dans l'application? – ravenik

+0

Je crains que vous deviez le configurer dans le navigateur (chaque client) et pour chaque type de fichier:/tout comme la première tentative de l'OP comme le montre la question (pour firefox par exemple: 'Outils> Options > Applications> Action + choisissez 'Enregistrer sous' dans la liste déroulante ') – A4L

Questions connexes