public static void StartSession (string monoDevelopBinPath = null, string profilePath = null) { Session = new AutoTestClientSession (); Session.StartApplication (file: monoDevelopBinPath, environment: new Dictionary<string,string> { { "MONODEVELOP_TEST_PROFILE", profilePath ?? Util.CreateTmpDir ("profile") } }); Session.SetGlobalValue ("MonoDevelop.Core.Instrumentation.InstrumentationService.Enabled", true); Session.GlobalInvoke ("MonoDevelop.Ide.IdeApp.Workbench.GrabDesktopFocus"); }
public static void StartSession () { Console.WriteLine ("Starting application"); Session = new AutoTestClientSession (); //TODO: support for testing the installed app Session.StartApplication (environment: new Dictionary<string,string> { { "MONODEVELOP_TEST_PROFILE", Util.CreateTmpDir ("profile") } }); Session.GlobalInvoke ("MonoDevelop.Ide.IdeApp.Workbench.GrabDesktopFocus"); }
public static int Main (string[] args) { int pa = 0; bool attach = false; if (args [pa] == "-a") { attach = true; pa++; } if (pa >= args.Length) { Console.WriteLine ("Test name not provided"); return 1; } string testName = args[pa]; Type testType = typeof(MainClass).Assembly.GetTypes ().FirstOrDefault (t => t.FullName == testName); if (testType == null) testType = typeof(MainClass).Assembly.GetTypes ().FirstOrDefault (t => t.Name == testName); if (testType == null) { Console.WriteLine ("Test not found: " + args[0]); return 1; } StressTest test = (StressTest) Activator.CreateInstance (testType); TestPlan plan = new TestPlan (); plan.Repeat = 1; pa++; if (pa < args.Length) { int rep; if (int.TryParse (args[pa], out rep)) { plan.Repeat = rep; pa++; } } while (pa < args.Length) { string arg = args [pa]; int i = arg.IndexOf ('*'); string tname = arg.Substring (0, i); string it = arg.Substring (i+1); int nit; if (!int.TryParse (it, out nit)) { Console.WriteLine ("Invalid number of iterations: " + it); return 1; } if (tname.Length == 0) plan.Iterations = nit; else { if (!test.HasTest (tname)) { Console.Write ("Unknown test: " + tname); return 1; } plan.SetIterationsForTest (tname, nit); } pa++; } AutoTestClientSession session = new AutoTestClientSession (); try { if (attach) { session.AttachApplication (); } else { string app = typeof(AutoTestClientSession).Assembly.Location; app = Path.Combine (Path.GetDirectoryName (app), "MonoDevelop.exe"); session.StartApplication (app, ""); Console.WriteLine ("Connected"); session.WaitForEvent ("MonoDevelop.Ide.IdeInitialized"); } Console.WriteLine ("Initialized"); TestService.Session = session; test.Run (plan); } finally { if (!attach) { Console.WriteLine ("Press Enter to stop the test process"); Console.ReadLine (); } session.Stop (); } return 0; }