ダウンロードを確認するには、セレンを使用する必要があります。ダウンロード ファイルのリンクをクリックして、ダウンロード可能かどうかを確認する必要があります。(ダウンロードが開始されているかどうかを意味します) このための簡単な HTML スクリプトを作成する必要があります。しかし、Selenium はファイル ダウンロード用の [名前を付けて保存] ダイアログ ボックスを認識しないため、続行できません。これに対するSelenium内の解決策はありますか? これは一元化された UI テスト スクリプトの一部であるため、他のサード パーティ ツールは使用できません。前もって感謝します。
3361 次
1 に答える
0
私の解決策(C#で)は、ダウンロードするファイルのURLとCookieを取得し、WebClientを使用してリクエストを行うことです:
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
}
于 2012-07-25T15:30:06.073 に答える