2011-11-29 69 views
1

我需要使用硒來驗證下載。我需要點擊下載文件鏈接並檢查它是否可下載。 (意味着下載開始或沒有) 我需要爲此創建一個簡單的HTML腳本。但由於Selenium無法識別文件下載的「另存爲」對話框,因此我無法繼續。 Selenium中是否有解決方案?我不能使用任何其他第三方工具,因爲這是集中式UI測試腳本的一部分。 在此先感謝。使用Selenium驗證文件下載

+2

這應該是一個很好看的。 http://blog.codecentric.de/en/2010/07/file-downloads-with-selenium-mission-impossible/和http://www.jsystemtest.org/?q=node/70 –

回答

0

我的解決方法(在C#)是獲取URL的文件使用Web客戶端下載和任何cookie,併發出請求:

 var testLink = seleniumDriver.FindElement(By.LinkText("Link to file")); 
     var pdfHref = testLink.GetAttribute("href"); 
     var manage = seleniumDriver.Manage(); 
     var cookies = manage.Cookies.AllCookies; 
     using (var wc = new WebClient()) 
     { 
      foreach (var cookie in cookies) 
      { 
       var cookieText = cookie.Name + "=" + cookie.Value; 
       wc.Headers.Add(HttpRequestHeader.Cookie, cookieText); 
      } 
      var fileResult = wc.DownloadData(new Uri(pdfHref)); 
      // or use wc.DownloadString or wc.DownloadFile 
      // Do any test required 
     } 
+0

你可以做只是與Selenium IDE相同? (只是在一個新的html中的JS。) – sumid