测试文件是否已下载Selenium / C#(谷歌浏览器)
发布时间:2020-12-15 23:47:56 所属栏目:百科 来源:网络整理
导读:我想点击一个将触发特定文件下载的按钮,并确认正在下载此特定文件. 我已经用谷歌搜索了这个,但遗憾的是没有找到关于这个主题的具体答案,而且我发现的几乎所有帖子都已经过时(2014),而且Selenium可能在两年前改进了一些功能. 解决方法 使用以下代码: – impo
我想点击一个将触发特定文件下载的按钮,并确认正在下载此特定文件.
我已经用谷歌搜索了这个,但遗憾的是没有找到关于这个主题的具体答案,而且我发现的几乎所有帖子都已经过时(2014),而且Selenium可能在两年前改进了一些功能. 解决方法
使用以下代码: –
import org.openqa.selenium.By; import java.io.File; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class FileDownloadVerify { private WebDriver driver; private static String downloadPath = "D:siva"; private String URL="http://all-free-download.com/free-photos/download/in_love_cosmos_flower_garden_220378.html"; @BeforeClass public void testSetup() throws Exception{ driver = new FirefoxDriver(firefoxProfile()); driver.manage().window().maximize(); } @Test public void example_VerifyExpectedFileName() throws Exception { driver.get(URL); driver.findElement(By.xpath(".//*[@id='detail_content']/div[2]/a")).click(); Thread.sleep(10000); File getLatestFile = getLatestFilefromDir(downloadPath); String fileName = getLatestFile.getName(); Assert.assertTrue(fileName.equals("in_love_cosmos_flower_garden_220378.zip"),"Downloaded file name is not matching with expected file name"); } @AfterClass public void tearDown() { driver.quit(); } public static FirefoxProfile firefoxProfile() throws Exception { FirefoxProfile firefoxProfile = new FirefoxProfile(); firefoxProfile.setPreference("browser.download.folderList",2); firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false); firefoxProfile.setPreference("browser.download.dir",downloadPath); firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/zip"); return firefoxProfile; } public boolean isFileDownloaded(String downloadPath,String fileName) { boolean flag = false; File dir = new File(downloadPath); File[] dir_contents = dir.listFiles(); for (int i = 0; i < dir_contents.length; i++) { if (dir_contents[i].getName().equals(fileName)) return flag=true; } return flag; } private boolean isFileDownloaded_Ext(String dirPath,String ext){ boolean flag=false; File dir = new File(dirPath); File[] files = dir.listFiles(); if (files == null || files.length == 0) { flag = false; } for (int i = 1; i < files.length; i++) { if(files[i].getName().contains(ext)) { flag=true; } } return flag; } private File getLatestFilefromDir(String dirPath){ File dir = new File(dirPath); File[] files = dir.listFiles(); if (files == null || files.length == 0) { return null; } File lastModifiedFile = files[0]; for (int i = 1; i < files.length; i++) { if (lastModifiedFile.lastModified() < files[i].lastModified()) { lastModifiedFile = files[i]; } } return lastModifiedFile; } } 希望它能帮到你:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |