Как использовать FileUploadDialogHandler в watin для доступа к диалогу загрузки файлов - PullRequest
4 голосов
/ 09 мая 2011

Я использую IE8 с watin и пытаюсь проверить загрузку файла через мою веб-страницу.Я не могу просто установить загружаемый файл с помощью метода set, например

ie.FileUpload (Find.ById ("someId")). Set ("C: /Desktop/image.jpg");

потому что текстовое поле загрузки не доступно для записи в IE8, поэтому я должен использовать FileUploadDialogHandler, но я не могу найти примеры того, как это сделать.

Я успешно нашел и использовал примеры ConfirmDialogHandler, но я не могу понять, как использовать FileUploadDialogHandler.

Буду признателен за любые примеры.

Ответы [ 3 ]

3 голосов
/ 09 мая 2011

Ваш код выглядит нормально. Вам не нужно использовать FileUploadDialogHandler. Он используется внутри системы при вызове метода Set.

1 голос
/ 09 мая 2011

Попробуйте этот код

FileUploadDialogHandler fileupload = new FileUploadDialogHandler("filename.xls");
using (new UseDialogOnce(ie.DialogWatcher, fileupload ))
{
   //code to intiate the file upload, like button.Click()
}
0 голосов
/ 01 июля 2015

У меня была такая же проблема. Диалоговое окно открывалось, но путь к файлу не был записан. Диалоговое окно осталось открытым. Я нашел мимоходом. Перед использованием функции .Set используйте функцию .Click.

Примерно так:

.

ie.FileUpload (Find.ById ( "someId")) Нажмите (); ie.FileUpload (Find.ById ( "someId")) Set ( "C: /Desktop/image.jpg");

.
...