public void TestFullResetNoResetMutualExclusivity() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); settings.PerformFullAndroidReset = true; settings.ResetApplicationState = false; AppiumServerRunner setup = new AppiumServerRunner("", "", settings); Assert.That(setup.ContainsArgument<FullResetArgument>(), Is.True); Assert.That(setup.ContainsArgument<NoResetArgument>(), Is.False); }
public void TestFullResetNoResetMutualExclusivity() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); settings.PerformFullAndroidReset = true; settings.ResetApplicationState = false; AppiumServerRunner setup = new AppiumServerRunner("", "", settings); Assert.That(setup.ContainsArgument <FullResetArgument>(), Is.True); Assert.That(setup.ContainsArgument <NoResetArgument>(), Is.False); }
public void TestPrelauchApplicationUsage() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); // keep artifacts not enabled by default Assert.That(setup.ContainsArgument <PrelauchApplicationArgument>(), Is.False); // keep artifacts enabled settings.PrelaunchApplication = true; setup.Setup(settings); Assert.That(setup.ContainsArgument <PrelauchApplicationArgument>(), Is.True); }
public void TestQuietLoggingUsage() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); // quiet logging not enabled by default Assert.That(setup.ContainsArgument <QuietLoggingArgument>(), Is.False); // quiet logging enabled settings.QuietLogging = true; setup.Setup(settings); Assert.That(setup.ContainsArgument <QuietLoggingArgument>(), Is.True); }
public void TestDeveloperModeBreakOnAppStartUsage() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); settings.UseDeveloperMode = true; settings.BreakOnApplicationStart = true; AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); Assert.That(setup.ContainsArgument <BreakOnAppStartArgument>(), Is.True); // reset for negative case settings.BreakOnApplicationStart = false; setup.Setup(settings); Assert.That(setup.ContainsArgument <BreakOnAppStartArgument>(), Is.False); }
public void TestDeveloperModeExternalAppiumPackageIsUsed() { string test = "app"; DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); settings.UseDeveloperMode = true; settings.UseExternalAppiumPackage = true; settings.ExternalAppiumPackage = test; AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); Assert.That(setup.WorkingDirectory, Is.EqualTo(test)); // reset for negative case settings.UseExternalAppiumPackage = false; setup.Setup(settings); Assert.That(setup.WorkingDirectory, Is.EqualTo(WORKING_DIR)); }
public void TestDeveloperModeExternalNodeJsLibraryIsUsed() { string testNodeJs = "testNodeJs"; DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); settings.UseDeveloperMode = true; settings.UseExternalNodeJSBinary = true; settings.ExternalNodeJSBinary = testNodeJs; AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); Assert.That(setup.Filename, Is.EqualTo(testNodeJs)); //reset for negative case settings.UseExternalNodeJSBinary = false; setup.Setup(settings); Assert.That(setup.Filename, Is.EqualTo(NODE_RUNNER)); }
public void TestAllDeveloperSettingsIgnoredWhenDevModeDisabled() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); settings.UseDeveloperMode = false; settings.UseExternalNodeJSBinary = true; settings.ExternalNodeJSBinary = "testNodeJs"; settings.UseExternalAppiumPackage = true; settings.ExternalAppiumPackage = "extApp"; settings.UseNodeJSDebugging = true; settings.NodeJSDebugPort = 1234; settings.BreakOnApplicationStart = true; AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); Assert.That(setup.Filename, Is.EqualTo(NODE_RUNNER)); Assert.That(setup.WorkingDirectory, Is.EqualTo(WORKING_DIR)); Assert.That(setup.ContainsArgument<NodeJSDebugArgument>(), Is.False); Assert.That(setup.ContainsArgument<BreakOnAppStartArgument>(), Is.False); }
public void TestAllDeveloperSettingsIgnoredWhenDevModeDisabled() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); settings.UseDeveloperMode = false; settings.UseExternalNodeJSBinary = true; settings.ExternalNodeJSBinary = "testNodeJs"; settings.UseExternalAppiumPackage = true; settings.ExternalAppiumPackage = "extApp"; settings.UseNodeJSDebugging = true; settings.NodeJSDebugPort = 1234; settings.BreakOnApplicationStart = true; AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); Assert.That(setup.Filename, Is.EqualTo(NODE_RUNNER)); Assert.That(setup.WorkingDirectory, Is.EqualTo(WORKING_DIR)); Assert.That(setup.ContainsArgument <NodeJSDebugArgument>(), Is.False); Assert.That(setup.ContainsArgument <BreakOnAppStartArgument>(), Is.False); }
/// <summary> /// Start the Appium Node Server /// </summary> public void Start() { //setup runner AppiumServerRunner setup = new AppiumServerRunner(this._NodePath, this._AppiumPackageFolder, _Settings); // setup basic process info var appiumServerProcessStartInfo = new ProcessStartInfo(); appiumServerProcessStartInfo.WorkingDirectory = setup.WorkingDirectory; appiumServerProcessStartInfo.FileName = setup.Filename; appiumServerProcessStartInfo.Arguments = setup.GetArgumentsCmdLine() + " --log-no-color"; appiumServerProcessStartInfo.RedirectStandardOutput = true; appiumServerProcessStartInfo.RedirectStandardError = true; appiumServerProcessStartInfo.CreateNoWindow = true; appiumServerProcessStartInfo.UseShellExecute = false; //set up the process and allow the thread to start it _AppiumServerProcess = new Process(); _AppiumServerProcess.StartInfo = appiumServerProcessStartInfo; _AppiumServerProcess.OutputDataReceived += _Process_OutputDataReceived; _AppiumServerProcess.ErrorDataReceived += _Process_ErrorDataReceived; this._ServerExitMonitorThread = new Thread(() => { _FireOutputData(string.Format("Launching Appium server with command: {0} {1}", appiumServerProcessStartInfo.FileName, appiumServerProcessStartInfo.Arguments)); _OnRunningChanged(true); this._AppiumServerProcess.Start(); this._AppiumServerProcess.BeginOutputReadLine(); this._AppiumServerProcess.BeginErrorReadLine(); this._AppiumServerProcess.WaitForExit(); _OnRunningChanged(false); _FireOutputData("Appium server process ended"); }); this._ServerExitMonitorThread.Name = "Server Exit Monitor"; this._ServerExitMonitorThread.Priority = ThreadPriority.BelowNormal; this._ServerExitMonitorThread.Start(); }
public void TestDeveloperModeBreakOnAppStartUsage() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); settings.UseDeveloperMode = true; settings.BreakOnApplicationStart = true; AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); Assert.That(setup.ContainsArgument<BreakOnAppStartArgument>(), Is.True); // reset for negative case settings.BreakOnApplicationStart = false; setup.Setup(settings); Assert.That(setup.ContainsArgument<BreakOnAppStartArgument>(), Is.False); }
/// <summary>called when the launch button is clicked</summary> /// <param name="sender">sender</param> /// <param name="e">event args</param> public void LaunchButton_Click(object sender, EventArgs e) { // kill the process if it's already running if (null != this._AppiumServerProcess && !this._AppiumServerProcess.HasExited) { this._AppiumServerProcess.Kill(); return; } // don't launch if a remote server is being used if (this._Model.UseRemoteServer) { return; } //setup runner AppiumServerRunner setup = new AppiumServerRunner(this._NodePath, this._AppiumPackageFolder, _Model.Settings); // setup basic process info var appiumServerProcessStartInfo = new ProcessStartInfo(); appiumServerProcessStartInfo.WorkingDirectory = setup.WorkingDirectory; appiumServerProcessStartInfo.FileName = setup.Filename; appiumServerProcessStartInfo.UseShellExecute = true; appiumServerProcessStartInfo.Arguments = setup.GetArgumentsCmdLine(); // start the process this._AppiumServerProcess = Process.Start(appiumServerProcessStartInfo); this._ServerExitMonitorThread = new Thread(() => { this._Model.LaunchButtonText = "Stop"; this._AppiumServerProcess.WaitForExit(); this._Model.LaunchButtonText = "Launch"; }); this._ServerExitMonitorThread.Name = "Server Exit Monitor"; this._ServerExitMonitorThread.Priority = ThreadPriority.BelowNormal; this._ServerExitMonitorThread.Start(); }
public void TestPrelauchApplicationUsage() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); // keep artifacts not enabled by default Assert.That(setup.ContainsArgument<PrelauchApplicationArgument>(), Is.False); // keep artifacts enabled settings.PrelaunchApplication = true; setup.Setup(settings); Assert.That(setup.ContainsArgument<PrelauchApplicationArgument>(), Is.True); }
public void TestQuietLoggingUsage() { DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings(); AppiumServerRunner setup = new AppiumServerRunner(NODE_RUNNER, WORKING_DIR, settings); // quiet logging not enabled by default Assert.That(setup.ContainsArgument<QuietLoggingArgument>(), Is.False); // quiet logging enabled settings.QuietLogging = true; setup.Setup(settings); Assert.That(setup.ContainsArgument<QuietLoggingArgument>(), Is.True); }
/// <summary>called when the launch button is clicked</summary> /// <param name="sender">sender</param> /// <param name="e">event args</param> public void LaunchButton_Click(object sender, EventArgs e) { // kill the process if it's already running if (null != this._AppiumServerProcess && !this._AppiumServerProcess.HasExited) { this._AppiumServerProcess.Kill(); return; } // don't launch if a remote server is being used if (this._Model.UseRemoteServer) { return; } //setup runner AppiumServerRunner setup = new AppiumServerRunner(this._NodePath, this._AppiumPackageFolder, _Model.Settings); // setup basic process info var appiumServerProcessStartInfo = new ProcessStartInfo(); appiumServerProcessStartInfo.WorkingDirectory = setup.WorkingDirectory; appiumServerProcessStartInfo.FileName = setup.Filename; appiumServerProcessStartInfo.Arguments = setup.GetArgumentsCmdLine() + " --log-no-color"; appiumServerProcessStartInfo.RedirectStandardOutput = true; appiumServerProcessStartInfo.RedirectStandardError = true; appiumServerProcessStartInfo.CreateNoWindow = true; appiumServerProcessStartInfo.UseShellExecute = false; // set up the process and allow the thread to start it _AppiumServerProcess = new Process(); _AppiumServerProcess.StartInfo = appiumServerProcessStartInfo; _AppiumServerProcess.OutputDataReceived += _AppiumServerProcess_OutputDataReceived; _AppiumServerProcess.ErrorDataReceived += _AppiumServerProcess_ErrorDataReceived; this._ServerExitMonitorThread = new Thread(() => { this._Model.LaunchButtonText = "Stop"; this._AppiumServerProcess.Start(); this._AppiumServerProcess.BeginOutputReadLine(); this._AppiumServerProcess.BeginErrorReadLine(); this._AppiumServerProcess.WaitForExit(); this._Model.LaunchButtonText = "Launch"; }); this._ServerExitMonitorThread.Name = "Server Exit Monitor"; this._ServerExitMonitorThread.Priority = ThreadPriority.BelowNormal; this._ServerExitMonitorThread.Start(); }
/// <summary> /// Start the Appium Node Server /// </summary> public void Start() { //setup runner AppiumServerRunner setup = new AppiumServerRunner(this._NodePath, this._AppiumPackageFolder, _Settings); // setup basic process info var appiumServerProcessStartInfo = new ProcessStartInfo(); appiumServerProcessStartInfo.WorkingDirectory = setup.WorkingDirectory; appiumServerProcessStartInfo.FileName = setup.Filename; appiumServerProcessStartInfo.Arguments = setup.GetArgumentsCmdLine() + " --log-no-color"; appiumServerProcessStartInfo.RedirectStandardOutput = true; appiumServerProcessStartInfo.RedirectStandardError = true; appiumServerProcessStartInfo.CreateNoWindow = true; appiumServerProcessStartInfo.UseShellExecute = false; //set up the process and allow the thread to start it _AppiumServerProcess = new Process(); _AppiumServerProcess.StartInfo = appiumServerProcessStartInfo; _AppiumServerProcess.OutputDataReceived += _Process_OutputDataReceived; _AppiumServerProcess.ErrorDataReceived += _Process_ErrorDataReceived; this._ServerExitMonitorThread = new Thread(() => { _FireOutputData("Starting Node Server"); _OnRunningChanged(true); this._AppiumServerProcess.Start(); this._AppiumServerProcess.BeginOutputReadLine(); this._AppiumServerProcess.BeginErrorReadLine(); this._AppiumServerProcess.WaitForExit(); _OnRunningChanged(false); _FireOutputData("Node Server Process Ended"); }); this._ServerExitMonitorThread.Name = "Server Exit Monitor"; this._ServerExitMonitorThread.Priority = ThreadPriority.BelowNormal; this._ServerExitMonitorThread.Start(); }