Skip to main content

How to Download File using WebDriver

When we download file from a web page, it asks for confirmation to download along with the download location. For automating this download file process, we have to set some preferences based on the browser used.
In this article, we will see file download for Firefox and Chrome separately.

Download File using FirefoxDriver

For firefox, we have to set the below firefox profile preferences.
  • browser.download.dir – The download directory
  • browser.download.folderList – It has to be set to 2 to make firefox use custom download directory (the above given download directory). If value is 0, it downloads the file to user’s desktop and if its 1, it uses the default Downloads folder.
  • browser.download.manager.showWhenStarting – Whether to show the download manager when starting download
  • browser.helperApps.neverAsk.saveToDisk – Never ask for saving to disk for the given file types.
Using the above preferences, we can create the profile and initialize the FirefoxDriver.
1
2
3
4
5
6
7
8
9
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.dir", "D:\\Custom\\Download\\Directory");
profile.setPreference("browser.download.folderList", 2);
// File type of the downloaded file
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv");
profile.setPreference( "browser.download.manager.showWhenStarting", false );
profile.setPreference( "pdfjs.disabled", true );
// Initialize webdriver using the profile
WebDriver driver = new FirefoxDriver(profile);

Download File using Chrome

The method is similar for chromedriver in which we set the ExperimentalOptions preferences in ChromeOptions as shown below.
Preferences Set
  • download.default_directory – The download directory
  • profile.default_content_settings.popups – To disallow popups
1
2
3
4
5
6
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_settings.popups", 0);
prefs.put("download.default_directory", "D:\\Downloads\\Directory");
options.setExperimentalOption("prefs", prefs);
WebDriver driver = new ChromeDriver(options);
We will be covering How to Import Files using WebDriver in a future post.

Comments

Popular posts from this blog

Reporting in Selenium

How do you Handle reporting in your project ? Method 1 : Maven - Testng - Surefire report The project will be created in Maven with  SureFire Plugin  and  SuiteXmlFile  tag in the POM.xml . The testng.xml will be called in the POM.            <plugin>                 <groupId>org.apache.maven.plugins</groupId>            <artifactId>maven-surefire-plugin</artifactId>            <version>2.18.1</version>                 <configuration>                     <suiteXmlFiles>                         <suiteXmlFile>                             ...

Handling Modal Dialog Window in Selenium Webdriver

Handling Modal Dialog Window in Selenium Webdriver In this tutorial we are going to see how to handle " Modal Dialog Window "  using Selenium Webdriver Disadvantage using Selenium Use Can't handle elements which is inside  Modal Dialog Window. Using Robot Class Using Robot Class we can handle  Modal Dialog Window. In this tutorial Open  http://vodkabears.github.io/remodal/# Click on  Show  button In the  Modal Dialog Window.  Click on Follow button  Source Code : import java.awt.AWTException; import java.awt.Robot; import java.awt.Toolkit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import java.awt.datatransfer.StringSelection; import java.awt.event.KeyEvent; public class robot_demo { public static void main(String[] args) throws InterruptedException, AWTException { WebDrive...

Autonium

About Autonium Autonium is a test automation framework for web applications. This framework is built by using Java and Selenium. It uses Maven project structure. Easy to understand and use it. Having basic idea on Java, Selenium, Maven and TestNG is good enough to start with Autonium. Let’s start Automation with Autonium --------------------------------------------------- Advantages Provides support to all major browsers –  Firefox, Chrome, IE and Safari . Capability of executing scripts on  Remote Machines  by using Selenium Server. Users can make use of Selenium Web driver methods and Autonium methods. Autonium simplifies  Test data management . Test data can be read from properties files. Scripts can be developed without  hard coding  test data . Identifiers can also be read from properties files and  hard coding   of identifiers can be avoided. Test data and Identifier v...