Pendant le test, un fichier (.html) sera téléchargé depuis l'application Web et je dois vérifier ce fichier en l'ouvrant dans le navigateur. En mode sans tête, mon test fonctionne correctement. Mais chaque fois que je passe en mode sans tête, ce fichier n'est pas téléchargé sur le chemin de téléchargement (c'est-à-dire pointé dans le "user.dir"). Ma version de pilote chrome est 2.44.609538 et la version sélénium est 3.14.
3 Réponses :
Apparemment, cela pourrait vous aider
Shawn Button publie la réponse qui y est associée.
Exécutez-vous le test depuis la ligne de commande?
Parce que, selon une réponse à cette question a> et ceci , lorsque vous l'exécutez via la ligne de commande, votre user.dir
correspond à votre répertoire d'utilisateurs global (C: \ users \ username).
Cela a fonctionné pour notre implémentation ruby:
Capybara.register_driver :scrapping_driver do |app| options = Selenium::WebDriver::Chrome::Options.new options.add_argument('--headless') options.add_argument('--disable-popup-blocking') options.add_argument('--disable-gpu') options.add_argument('--no-sandbox') options.add_argument('--disable-dev-shm-usage') options.add_argument('--window-size=1366,2000') options.add_preference(:download, directory_upgrade: true, prompt_for_download: false, default_directory: "#{Rails.root}/") options.add_preference(:browser, set_download_behavior: { behavior: 'allow' }) Selenium::WebDriver::Service.driver_path = Webdrivers::Chromedriver.driver_path driver = Capybara::Selenium::Driver.new(app, browser: :chrome, options: options) end
Faites attention au comportement de téléchargement
Veuillez expliquer votre problème en détail. Votre fichier est-il téléchargé sur un mauvais chemin? Avez-vous une erreur? Veuillez partager le code que vous avez déjà essayé. Vous devez ajouter l ' exemple minimal reproductible en question.
Lors de l'exécution en mode sans tête, le fichier est téléchargé dans le répertoire utilisateur. Le test fonctionne parfaitement. Le problème commence lorsque j'exécute le test en mode sans tête.
"User.dir" change en mode sans tête. Voir stackoverflow.com/questions/ 51168671 /… .
Mon implémentation fonctionnait bien mais après avoir mis à jour la gemme Capybara à 3.33.0 et la gemme Selenium à 4.0.0.alpha6, je suis confronté au même problème.