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 TestAppiumServerBaseSetup()
        {
            string ipAddr = "1.0.0.0";
            uint   port   = 1234;
            DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings();

            settings.IPAddress = ipAddr;
            settings.Port      = port;

            AppiumServerRunnerMock setup = new AppiumServerRunnerMock(NODE_RUNNER, WORKING_DIR, settings);

            Assert.That(setup.ContainsArgument <ServerRunnerArgument>(), Is.True);
            Assert.That(setup.ContainsArgument <ServerAddressArgument>(), Is.True);
            Assert.That(setup.GetArgumentForTest <ServerAddressArgument>().Value, Is.EqualTo(ipAddr));
            Assert.That(setup.ContainsArgument <ServerPortArgument>(), Is.True);
            Assert.That(setup.GetArgumentForTest <ServerPortArgument>().Value, Is.EqualTo(port));
        }
        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 TestDeveloperModeNodeJsDebuggingPortUsage()
        {
            uint port = 1234;
            DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings();

            settings.UseDeveloperMode   = true;
            settings.UseNodeJSDebugging = true;
            settings.NodeJSDebugPort    = port;

            AppiumServerRunnerMock setup = new AppiumServerRunnerMock(NODE_RUNNER, WORKING_DIR, settings);

            Assert.That(setup.ContainsArgument <NodeJSDebugArgument>(), Is.True);
            Assert.That(setup.GetArgumentForTest <NodeJSDebugArgument>().Value, Is.EqualTo(port));

            // reset for negative case
            settings.UseNodeJSDebugging = false;
            setup.Setup(settings);
            Assert.That(setup.ContainsArgument <NodeJSDebugArgument>(), Is.False);
        }
        public void TestAndroidDeviceReadyTimeoutUsage()
        {
            uint test = 1234;
            DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings();

            settings.AndroidDeviceReadyTimeout = test;

            AppiumServerRunnerMock setup = new AppiumServerRunnerMock(NODE_RUNNER, WORKING_DIR, settings);

            // timeout not enabled by default
            Assert.That(setup.ContainsArgument <AndroidDeviceReadyTimeoutArgument>(), Is.False);

            // timeout enabled
            settings.UseAndroidDeviceReadyTimeout = true;
            setup.Setup(settings);

            Assert.That(setup.ContainsArgument <AndroidDeviceReadyTimeoutArgument>(), Is.True);
            Assert.That(setup.GetArgumentForTest <AndroidDeviceReadyTimeoutArgument>().Value, Is.EqualTo(test));
        }
        public void TestAndroidWaitActivityUsage()
        {
            string test = "wait";
            DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings();

            settings.AndroidWaitActivity = test;

            AppiumServerRunnerMock setup = new AppiumServerRunnerMock(NODE_RUNNER, WORKING_DIR, settings);

            // activity not enabled by default
            Assert.That(setup.ContainsArgument <AndroidWaitActivityArgument>(), Is.False);

            // activity enabled
            settings.UseAndroidWaitActivity = true;
            setup.Setup(settings);

            Assert.That(setup.ContainsArgument <AndroidWaitActivityArgument>(), Is.True);
            Assert.That(setup.GetArgumentForTest <AndroidWaitActivityArgument>().Value, Is.EqualTo(test));
        }
        public void TestLaunchAVDUsage()
        {
            string test = "AVD";
            DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings();

            settings.AVDToLaunch = test;

            AppiumServerRunnerMock setup = new AppiumServerRunnerMock(NODE_RUNNER, WORKING_DIR, settings);

            // avd not enabled by default
            Assert.That(setup.ContainsArgument <AVDToLaunchArgument>(), Is.False);

            // avd enabled
            settings.LaunchAVD = true;
            setup.Setup(settings);

            Assert.That(setup.ContainsArgument <AVDToLaunchArgument>(), Is.True);
            Assert.That(setup.GetArgumentForTest <AVDToLaunchArgument>().Value, Is.EqualTo(test));
        }
        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);
        }
Esempio n. 13
0
        public void TestSetupAppPathChangesSettingsAndNotifies()
        {
            // setup
            DefaultAppiumAppSettings settings = new DefaultAppiumAppSettings();
            Model         mainModel           = new Model(null, settings);
            List <string> events = new List <string>();

            mainModel.PropertyChanged += delegate(object s, PropertyChangedEventArgs e)
            {
                events.Add(e.PropertyName);
            };
            const string appPath = "testMe";

            // test
            mainModel.SetupNewApplicationPath(appPath);

            Assert.That(settings.ApplicationPath, Is.EqualTo(appPath));
            Assert.That(settings.UseApplicationPath, Is.True);

            Assert.That(events[0], Is.EqualTo("ApplicationPath"), "Event for ApplicationPath property change has not been fired.");
            Assert.That(events[1], Is.EqualTo("UseApplicationPath"), "Event for UseApplicationPath property change has not been fired.");
        }