

Этот код поможет. Класс UsedialogOnce можно найти в коде WatiN.UnitTests и он будет частью выпуска WatiN 1.3 (который, вероятно, выйдет сегодня вечером 14 октября).
FileDownloadHandler fileDownloadHandler = новый FileDownloadHandler (file.FullName); используя (новый UseDialogOnce (например, DialogWatcher, fileDownloadHandler)) { ie.Button ("exportPdfButtonId"). ClickNoWait ();
fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(30);
fileDownloadHandler.WaitUntilDownloadCompleted(200);
}
HTH, Йерун ван Менен Ведущий разработчик WatiN
FileDownloadHandler fileDownloadHandler = new FileDownloadHandler(file.FullName);
using (new UseDialogOnce(ie.DialogWatcher, fileDownloadHandler))
{
ie.Button("exportPdfButtonId").ClickNoWait();
fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(30);
fileDownloadHandler.WaitUntilDownloadCompleted(200);
}
Я только что столкнулся с той же проблемой, за исключением того, что я использую Foxit вместо Acrobat. Я сказал Foxit не запускать в браузере, и тогда этот код начал работать нормально. Вот полный модульный тест, который должен помочь:
string file = Path.Combine(Directory.GetCurrentDirectory(), "test.pdf");
using (IE ie = new IE())
{
FileDownloadHandler handler = new FileDownloadHandler(file);
using (new UseDialogOnce(ie.DialogWatcher, handler))
{
try
{
ie.GoToNoWait("http://www.tug.org/texshowcase/cheat.pdf");
//WatiN seems to hang when IE loads a PDF, so let it timeout...
ie.WaitForComplete(5);
}
catch (Exception)
{
//Ok.
}
handler.WaitUntilFileDownloadDialogIsHandled(30);
handler.WaitUntilDownloadCompleted(30);
}
}
Assert.That(File.Exists(file));
Взгляните на этот пост:
Как проверить, успешно ли был открыт PDF-файл в браузере с помощью WatiN?