I'm using IE8 with watin and am trying to test uploading a file via my webpage. I can't simply set the uploa开发者_StackOverflowd file using the set method like
ie.FileUpload(Find.ById("someId")).Set("C:/Desktop/image.jpg");
because the upload textarea is not writeable in IE8, so I have to use the FileUploadDialogHandler but I can't find any examples of how to do this.
I have found and used examples of the ConfirmDialogHandler successfully, but I can't seem to figure out how to use the FileUploadDialogHandler.
Any examples would be greatly appreciated.
Your code looks OK. You don't have to use FileUploadDialogHandler
. It is used internally when you call Set
method.
Try this code
FileUploadDialogHandler fileupload = new FileUploadDialogHandler("filename.xls");
using (new UseDialogOnce(ie.DialogWatcher, fileupload ))
{
//code to intiate the file upload, like button.Click()
}
I had the same issue. The dialog box was opening, but the filepath was not written. Dialog box was remained opened. I found a by pass. Before using .Set function use the .Click function.
Something like that :
ie.FileUpload(Find.ById("someId")).Click(); ie.FileUpload(Find.ById("someId")).Set("C:/Desktop/image.jpg");
精彩评论