Пример #1
0
        private void CreateNewIEAndGoToUri(Uri uri, IDialogHandler logonDialogHandler, bool createInNewProcess)
        {
            CheckThreadApartmentStateIsSTA();

            UtilityClass.MoveMousePoinerToTopLeft(Settings.AutoMoveMousePointerToTopLeft);

            if (createInNewProcess)
            {
                Logger.LogAction("Creating IE instance in a new process");

                _ieBrowser = CreateIEPartiallyInitializedInNewProcess();
            }
            else
            {
                Logger.LogAction("Creating IE instance");

                _ieBrowser = CreateIEBrowser(new InternetExplorerClass());
            }

            StartDialogWatcher();

            if (logonDialogHandler != null)
            {
                // remove other logon dialog handlers since only one handler
                // can effectively handle the logon dialog.
                DialogWatcher.RemoveAll(new LogonDialogHandler("a", "b"));

                // Add the (new) logonHandler
                DialogWatcher.Add(logonDialogHandler);
            }

            FinishInitialization(uri);

//            WaitForComplete();
        }
Пример #2
0
 /// <summary>
 /// Sets the upload file.
 /// </summary>
 /// <param name="elUpload">The el upload.</param>
 /// <param name="fileName">Name of the file.</param>
 /// <param name="watcher">The watcher.</param>
 public static void SetUploadFile(this Element elUpload, string fileName, DialogWatcher watcher)
 {
     using (new UseDialogOnce(watcher, new FileUploadDialogHandler(fileName)))
     {
         elUpload.Click();
     }
 }
Пример #3
0
 private void frmOption_Load(object sender, EventArgs e)
 {
     _InitData();
     //WatiN.Core.Settings.AutoStartDialogWatcher = false;
     dialogWatcher = new DialogWatcher(new WatiN.Core.Native.Windows.Window(this.Handle));
     dialogWatcher.CloseUnhandledDialogs = false;
 }
Пример #4
0
        private void frmWebBowser_Load(object sender, EventArgs e)
        {
            Settings.WaitForCompleteTimeOut = 120000;
            Settings.AttachToBrowserTimeOut = 120000;

            webBrowser1.ScriptErrorsSuppressed = false;

            Settings.AutoStartDialogWatcher = false;
            ie = new IE(webBrowser1.ActiveXInstance);
            try
            {
                ie.ClearCache();
            }
            catch
            {
            }
            //ie = new IE();
            dialogWatcher = new DialogWatcher(new Window(this.Handle));
            dialogWatcher.CloseUnhandledDialogs = false;
            webpage = new WebPage();
            lookUpEditPage.Properties.DataSource    = WebPage.GetAll();
            lookUpEditPage.Properties.DisplayMember = "Page";
            lookUpEditPage.Properties.ValueMember   = "ID";
            if (pageID > 0)
            {
                lookUpEditPage.EditValue = long.Parse(pageID.ToString());
            }
        }
 /// <summary>
 /// Call this function (from a subclass) as soon as the process is started.
 /// </summary>
 protected void StartDialogWatcher()
 {
     if (Settings.AutoStartDialogWatcher && _dialogWatcher == null)
     {
         _dialogWatcher = DialogWatcher.GetDialogWatcherForProcess(ProcessID);
         _dialogWatcher.IncreaseReferenceCount();
     }
 }
 public static DialogWatcher clear(this DialogWatcher dialogWatcher)
 {
     if (dialogWatcher.notNull())
     {
         dialogWatcher.Clear();                          // will call dialogWatcher._handlers.Clear();
     }
     return(dialogWatcher);
 }
Пример #7
0
        /// <inheritdoc />
        public void SetFileUploadFile(DialogWatcher dialogWatcher, string fileName)
        {
            var uploadDialogHandler = new FileUploadDialogHandler(fileName);

            using (new UseDialogOnce(dialogWatcher, uploadDialogHandler))
            {
                ClickOnElement();
            }
        }
        /// <summary>
        /// Call this function (from a subclass) as soon as the process is started.
        /// </summary>
        protected void StartDialogWatcher()
        {
            if (!Settings.AutoStartDialogWatcher || DialogWatcher != null)
            {
                return;
            }

            DialogWatcher = DialogWatcher.GetDialogWatcher(hWnd);
            DialogWatcher.IncreaseReferenceCount();
        }
Пример #9
0
        public override void WaitForComplete(int waitForCompleteTimeOut)
        {
            if (hasDialogHandler == null)
            {
                hasDialogHandler = new HasDialogHandler();
                DialogWatcher.Add(hasDialogHandler);
            }

            WaitForComplete(new IEWaitForCompleteWithDialogs((IEBrowser)NativeBrowser, waitForCompleteTimeOut, hasDialogHandler.HasDialog));
        }
        /// <summary>
        /// This method must be called by its inheritor to dispose references
        /// to internal resources.
        /// </summary>
        protected override void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                _htmlDocument = null;
                if (_dialogWatcher != null)
                {
                    DialogWatcher.DecreaseReferenceCount();
                    _dialogWatcher = null;
                }
                _disposed = true;

                base.Dispose(true);
            }
        }
Пример #11
0
        public UseDialogOnce(DialogWatcher watcher, IDialogHandler handler)
        {
            if (watcher == null)
            {
                throw new ArgumentNullException("watcher");
            }
            if (handler == null)
            {
                throw new ArgumentNullException("handler");
            }

            _watcher = watcher;
            _handler = handler;

            watcher.Add(handler);
        }
        /// <summary>
        /// This method must be called by its inheritor to dispose references
        /// to internal resources.
        /// </summary>
        protected override void Dispose(bool disposing)
        {
            if (IsDisposed)
            {
                return;
            }

            _nativeDocument = null;
            if (DialogWatcher != null)
            {
                DialogWatcher.DecreaseReferenceCount();
                DialogWatcher = null;
            }
            IsDisposed = true;

            base.Dispose(true);
        }
        public static WatiN_IE setDialogWatcher(this WatiN_IE watinIe)
        {
            if (watinIe.isNull())
            {
                return(null);
            }
            if (watinIe.IE.DialogWatcher == null)
            {
                //set the value of IE.DialogWatcher with the current inproc IE dialogWatcher

                var dialogWatcher = DialogWatcher.GetDialogWatcher(Processes.getCurrentProcess().MainWindowHandle);
                var property      = PublicDI.reflection.getPropertyInfo("DialogWatcher", typeof(DomContainer));
                PublicDI.reflection.setProperty(property, watinIe.IE, dialogWatcher);

                dialogWatcher.CloseUnhandledDialogs = false;
            }
            return(watinIe);
        }
 /// <summary>
 /// Adds the dialog handler.
 /// </summary>
 /// <param name="handler">The dialog handler.</param>
 public void AddDialogHandler(IDialogHandler handler)
 {
     DialogWatcher.Add(handler);
 }
Пример #15
0
 public void SetFileUploadFile(DialogWatcher dialogWatcher, string fileName)
 {
     fileName = fileName.Replace(@"\", @"\\");
     this.SetAttributeValue("value", fileName);
 }
Пример #16
0
 public void SetFileUploadFile(DialogWatcher dialogWatcher, string fileName)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// Removes the dialog handler.
 /// </summary>
 /// <param name="handler">The dialog handler.</param>
 public void RemoveDialogHandler(IDialogHandler handler)
 {
     DialogWatcher.Remove(handler);
 }