public AppResult[] WaitForElement(AppQuery query, int timeout) { const int pollTime = 200; syncEvent.Reset(); AppResult[] resultSet = null; GLib.Timeout.Add((uint)pollTime, () => { resultSet = ExecuteQueryNoWait(query); if (resultSet.Length > 0) { syncEvent.Set(); return(false); } timeout -= pollTime; return(timeout > 0); }); if (!syncEvent.WaitOne(timeout)) { throw new TimeoutException(String.Format("Timeout while executing WaitForElement: {0}", query)); } return(resultSet); }
public AppQuery CreateNewQuery () { AppQuery query = new AppQuery (); query.SessionDebug = SessionDebug; return query; }
public void WaitForNoElement(Func <AppQuery, AppQuery> query, int timeout = 5000) { AppQuery c = session.CreateNewQuery(); c = query(c); ClearEventQueue(); session.WaitForNoElement(c, timeout); }
public AppResult[] WaitForElement(Func <AppQuery, AppQuery> query, int timeout = 5000) { AppQuery c = session.CreateNewQuery(); c = query(c); ClearEventQueue(); return(session.WaitForElement(c, timeout)); }
public AppResult[] Query(Func <AppQuery, AppQuery> query) { AppQuery c = session.CreateNewQuery(); c = query(c); ClearEventQueue(); return(session.ExecuteQuery(c)); }
// Executes the query outside of a syncEvent wait so it is safe to call from // inside an ExecuteOnIdleAndWait internal AppResult[] ExecuteQueryNoWait(AppQuery query) { AppResult[] resultSet = query.Execute(); Sync(() => { DispatchService.RunPendingEvents(); return(true); }); return(resultSet); }
public AppQuery CreateNewQuery() { AppQuery query = new AppQuery(); query.SessionDebug = SessionDebug; lock (queries) queries.Add(query); return(query); }
public AppResult[] ExecuteQuery(AppQuery query, int timeout = 20000) { AppResult[] resultSet = null; try { ExecuteOnIdle(() => { resultSet = ExecuteQueryNoWait(query); }, timeout: timeout); } catch (TimeoutException e) { throw new TimeoutException(string.Format("Timeout while executing ExecuteQuery: {0}", query), e); } return(resultSet); }
public override void Replay(AutoTestSession testSession) { AppQuery query = testSession.CreateNewQuery(); AppResult[] results = query.Window().Marked("MonoDevelop.Ide.Gui.DefaultWorkbench").Execute(); if (results.Length == 0) { return; } testSession.Select(results [0]); if (results [0] is AutoTest.Results.GtkWidgetResult) { AutoTest.Results.GtkWidgetResult widgetResult = (AutoTest.Results.GtkWidgetResult)results [0]; widgetResult.EnterText(Text); } }
public override void Replay(AutoTestSession testSession) { // Select the main window and then we can push key events to it. AppQuery query = testSession.CreateNewQuery(); AppResult[] results = query.Window().Marked("MonoDevelop.Ide.Gui.DefaultWorkbench").Execute(); if (results.Length == 0) { return; } testSession.Select(results[0]); // We need the GtkWidgetResult for the main window as we only have the keys as a Gdk key if (results [0] is AutoTest.Results.GtkWidgetResult) { AutoTest.Results.GtkWidgetResult widgetResult = (AutoTest.Results.GtkWidgetResult)results[0]; widgetResult.RealTypeKey(Key, Modifiers); } }
public void WaitForNoElement(AppQuery query, int timeout) { const int pollTime = 100; syncEvent.Reset(); AppResult[] resultSet = null; GLib.Timeout.Add((uint)pollTime, () => { resultSet = query.Execute(); if (resultSet.Length == 0) { syncEvent.Set(); return(false); } timeout -= pollTime; return(timeout > 0); }); if (!syncEvent.WaitOne(timeout)) { throw new Exception("Timeout while executing synchronized call"); } }
public void WaitForNoElement (AppQuery query, int timeout) { const int pollTime = 100; syncEvent.Reset (); AppResult[] resultSet = null; GLib.Timeout.Add ((uint)pollTime, () => { resultSet = ExecuteQueryNoWait (query); if (resultSet.Length == 0) { syncEvent.Set (); return false; } timeout -= pollTime; return timeout > 0; }); if (!syncEvent.WaitOne (timeout)) { throw new TimeoutException (String.Format ("Timeout while executing WaitForNoElement: {0}", query)); } }
public AppResult[] ExecuteQuery (AppQuery query, int timeout = 20000) { AppResult[] resultSet = null; try { ExecuteOnIdle (() => { resultSet = ExecuteQueryNoWait (query); }); } catch (TimeoutException e) { throw new TimeoutException (string.Format ("Timeout while executing ExecuteQuery: {0}", query), e); } return resultSet; }
// Executes the query outside of a syncEvent wait so it is safe to call from // inside an ExecuteOnIdleAndWait AppResult[] ExecuteQueryNoWait (AppQuery query) { AppResult[] resultSet = query.Execute (); Sync (() => { DispatchService.RunPendingEvents (); return true; }); return resultSet; }
public AppResult[] ExecuteQuery(AppQuery query) { return(query.Execute()); }