Checkout our demo site to practice selenium https://magento.softwaretestingboard.com/

0 like 0 dislike
763 views
by Master (1.2k points)
retagged by
We know that its very tricky part to download a file while automating your tests using Selenium. How do you test a file download in Selenium WebDriver?

2 Answers

0 like 0 dislike
by Expert (748 points)
Yes, it is easy to download a file using selenium webdriver

===============================================================================

package automation;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.firefox.FirefoxProfile;

import org.testng.annotations.Test;

public class FileDownloadExample {

public static String downloadPath = "E:\\seleniumdownloads";

@Test

public void testDownload() throws Exception {

System.setProperty("webdriver.firefox.marionette","E://Users//Bharat Varshney//workspace//drivers//geckodriver.exe");

WebDriver driver = new FirefoxDriver(FirefoxDriverProfile());

driver.manage().window().maximize();

    driver.get("http://spreadsheetpage.com/index.php/file/C35/P10/");

    driver.findElement(By.linkText("smilechart.xls")).click();

}

public static FirefoxProfile FirefoxDriverProfile() throws Exception {

FirefoxProfile profile = new FirefoxProfile();

profile.setPreference("browser.download.folderList", 2);

profile.setPreference("browser.download.manager.showWhenStarting", false);

profile.setPreference("browser.download.dir", downloadPath);

profile.setPreference("browser.helperApps.neverAsk.openFile",

"text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");

profile.setPreference("browser.helperApps.neverAsk.saveToDisk",

"text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");

profile.setPreference("browser.helperApps.alwaysAsk.force", false);

profile.setPreference("browser.download.manager.alertOnEXEOpen", false);

profile.setPreference("browser.download.manager.focusWhenStarting", false);

profile.setPreference("browser.download.manager.useWindow", false);

profile.setPreference("browser.download.manager.showAlertOnComplete", false);

profile.setPreference("browser.download.manager.closeWhenDone", false);

return profile;

}

}
0 like 0 dislike
by

You can use Robot class. also you can use AutoIt Or Sikuli (3rd Party Tools).

Reference Link:

https://www.guru99.com/use-autoit-selenium.html


This site is for software testing professionals, where you can ask all your questions and get answers from 1300+ masters of the profession. Click here to submit yours now!

1.4k questions

1.6k answers

866 comments

1.9k users

...