public virtual Window CreateWindow(SearchCriteria searchCriteria, Process process, InitializeOption option, WindowSession windowSession) { string message = string.Format("Couldn't find window with SearchCriteria {0} in process {1}{2}", searchCriteria, process.Id, Constants.BusyMessage); AutomationElement element = WaitTillFound(() => finder.FindWindow(searchCriteria, process.Id), message); return Create(element, option, windowSession); }
private Window ModalWindow(Clock.Do find, InitializeOption option, WindowSession windowSession) { var clock = new Clock(CoreAppXmlConfiguration.Instance.BusyTimeout); Clock.Matched matched = obj => obj != null; Clock.Expired expired = () => null; var automationElement = (AutomationElement) clock.Perform(find, matched, expired); return automationElement == null ? null: Create(automationElement, option, windowSession); }
public virtual WindowSession WindowSession(InitializeOption initializeOption) { if (initializeOption.Identifier == null) return new NullWindowSession(); WindowSession windowSession; if (windowSessions.TryGetValue(initializeOption.Identifier, out windowSession)) return windowSession; windowSession = new WindowSession(this, initializeOption); windowSessions.Add(initializeOption.Identifier, windowSession); return windowSession; }
internal static Window Create(AutomationElement element, InitializeOption option, WindowSession windowSession) { SpecializedWindowFactory specializedWindowFactory = specializedWindowFactories.Find(factory => factory.DoesSpecializedThis(element)); if (specializedWindowFactory != null) { return specializedWindowFactory.Create(element, option, windowSession); } var windowsFramework = new WindowsFramework(element.Current.FrameworkId); if (windowsFramework.WinForm) return new WinFormWindow(element, option, windowSession); if (windowsFramework.WPF) return new WPFWindow(element, WindowFactory.Desktop, option, windowSession); if (windowsFramework.Win32) return new Win32Window(element, WindowFactory.Desktop, option, windowSession); if (windowsFramework.UIAutomationBug) return null; throw new UIItemSearchException(string.Format("{0} is not supported yet.", windowsFramework)); }
public virtual WindowSession WindowSession(InitializeOption initializeOption) { if (initializeOption.Identifier == null) { return(new NullWindowSession()); } WindowSession windowSession; if (windowSessions.TryGetValue(initializeOption.Identifier, out windowSession)) { return(windowSession); } windowSession = new WindowSession(this, initializeOption); windowSessions.Add(initializeOption.Identifier, windowSession); return(windowSession); }
public virtual Window FindModalWindow(string title, Process process, InitializeOption option, AutomationElement parentWindowElement, WindowSession windowSession) { var windowFinder = new AutomationElementFinder(parentWindowElement); try { AutomationElement modalWindowElement = WaitTillFound(delegate { AutomationElement windowElement = windowFinder.FindWindow(title, process.Id) ?? finder.FindWindow(title, process.Id); return windowElement; }, "Could not find modal window with title: " + title); return Create(modalWindowElement, option, windowSession); } catch (UIActionException e) { WhiteLogger.Instance.Debug(e.ToString()); return null; } }
public virtual Window CreateWindow(string title, Process process, InitializeOption option, WindowSession windowSession) { return Create(FindWindowElement(process, title), option, windowSession); }
public virtual Window ModalWindow(SearchCriteria searchCriteria, InitializeOption option, WindowSession windowSession) { return ModalWindow(() => Finder.FindWindow(searchCriteria), option, windowSession); }
protected Window(AutomationElement automationElement, InitializeOption initializeOption, WindowSession windowSession) : base(automationElement, new NullActionListener(), initializeOption, windowSession) { InitializeWindow(); }
public virtual Window FindWindow(Process process, Predicate<string> match, InitializeOption initializeOption, WindowSession windowSession) { string message = string.Format("Could not find window matching condition. ProcessName: {0}, ProcessId: {1}, MatchingConditionMethod: {2}, MatchingConditionTarget: {3}", process.ProcessName, process.Id, match.Method, match.Target); AutomationElement foundElement = WaitTillFound(() => FindWindowElement(process, match), message); return Create(foundElement, initializeOption, windowSession); }
public virtual Window FindModalWindow(SearchCriteria searchCriteria, InitializeOption option, AutomationElement parentWindowElement, WindowSession windowSession) { var windowFinder = new AutomationElementFinder(parentWindowElement); try { AutomationElement modalWindowElement = WaitTillFound(() => { AutomationElement windowElement = windowFinder.FindWindow(searchCriteria) ?? Finder.FindWindow(searchCriteria); return windowElement; }, "Could not find modal window with SearchCriteria: " + searchCriteria); return Create(modalWindowElement, option, windowSession); } catch (UIActionException e) { logger.Debug(e.ToString()); return null; } }
public virtual Window FindWindow(Process process, Predicate<string> match, InitializeOption initializeOption, WindowSession windowSession) { AutomationElement foundElement = WaitTillFound(() => FindWindowElement(process, match), "Could not find window matching condition"); return Create(foundElement, initializeOption, windowSession); }
public SilverlightDocument(AutomationElement automationElement, ActionListener actionListener, InitializeOption initializeOption, WindowSession windowSession) : base(automationElement, actionListener, initializeOption, windowSession) { }
public BrowserWindow(AutomationElement automationElement, WindowFactory windowFactory, InitializeOption option, WindowSession windowSession) : base(automationElement, windowFactory, option, windowSession) { }
public InternetExplorerWindow(AutomationElement automationElement, WindowFactory windowFactory, InitializeOption option, WindowSession windowSession) : base(automationElement, windowFactory, option, windowSession) { }
public virtual Window ModalWindow(string title, InitializeOption option, WindowSession windowSession) { Clock.Do @do = () => finder.FindWindow(title, 0); return ModalWindow(@do, option, windowSession); }
public virtual Window ModalWindow(string title, InitializeOption option, WindowSession windowSession) { return ModalWindow(() => Finder.FindWindow(title, 0), option, windowSession); }
private Desktop(AutomationElement automationElement, ActionListener actionListener, InitializeOption initializeOption, WindowSession windowSession) : base(automationElement, actionListener, initializeOption, windowSession) { finder = new AutomationElementFinder(automationElement); }
public virtual Window Create(AutomationElement automationElement, InitializeOption initializeOption, WindowSession session) { return new InternetExplorerWindow(automationElement, WindowFactory.Desktop, initializeOption, session); }
public virtual Window ModalWindow(SearchCriteria searchCriteria, InitializeOption option, WindowSession windowSession) { Clock.Do @do = () => finder.FindWindow(searchCriteria); return ModalWindow(@do, option, windowSession); }
private static Window ModalWindow(Func<AutomationElement> find, InitializeOption option, WindowSession windowSession) { var automationElement = Retry.For(find, e => e == null, CoreAppXmlConfiguration.Instance.BusyTimeout()); return automationElement == null ? null: Create(automationElement, option, windowSession); }
public DummyWindow(AutomationElement automationElement, InitializeOption initializeOption, WindowSession windowSession) : base(automationElement, initializeOption, windowSession) { }
public WPFWindow(AutomationElement automationElement, WindowFactory windowFactory, InitializeOption initializeOption, WindowSession windowSession) : base(automationElement, initializeOption, windowSession) { this.windowFactory = windowFactory; }