Esempio n. 1
0
        public object Clone()
        {
            var fixture = new LightTestFixture();

            fixture.Name = Name;

            fixture.Setup           = (Script)Setup.Clone();
            fixture.TearDown        = (Script)TearDown.Clone();
            fixture.OneTimeSetup    = (Script)OneTimeSetup.Clone();
            fixture.OneTimeTeardown = (Script)OneTimeTeardown.Clone();

            foreach (var test in Tests)
            {
                fixture.Tests.Add((Script)test.Clone());
            }

            ((IHaveGuid)fixture.Setup).RegenerateGuid();
            ((IHaveGuid)fixture.TearDown).RegenerateGuid();
            ((IHaveGuid)fixture.OneTimeSetup).RegenerateGuid();
            ((IHaveGuid)fixture.OneTimeTeardown).RegenerateGuid();
            fixture.Tests.RegenerateGuids();

            fixture.Guid = Guid;

            return(fixture);
        }
Esempio n. 2
0
 public void Dispose()
 {
     try {
         TearDown?.Invoke();
     }
     finally
     {
         Dispose(true);
         GC.SuppressFinalize(this);
     }
 }
Esempio n. 3
0
        /**
         * Running all test cases.
         */
        public void RunTestCases(TestReporter reporter)
        {
            TestResultEventHandler += ((o, e) => { reporter.report((TestResultEvent)e); });
            foreach (TestMethod m in TestCases)
            {
                m.TestResultEventHandler += ((o, e) => { reporter.report((TestResultEvent)e); });
            }

            foreach (TestMethod m in FrameworkTestMethods)
            {
                m.TestResultEventHandler += ((o, e) => { reporter.report((TestResultEvent)e); });
            }


            if (OneTimeSetUp != null && !OneTimeSetUp.run(null))
            {
                // if OneTimeSetUp fails mark all testcases as NOT_RUN
                foreach (TestMethod testCase in TestCases)
                {
                    TestResultEventHandler(this, new TestResultEvent(
                                               RESULT_TYPE.NO_RUN_FAILED_ONE_TIME_SETUP,
                                               testCase,
                                               null));
                }

                return;
            }

            foreach (TestMethod testCase in TestCases)
            {
                object testInstance = CreateTestInstance();
                if (SetUp != null)
                {
                    SetUp.run(testInstance);
                }
                testCase.run(testInstance);
                if (TearDown != null)
                {
                    TearDown.run(testInstance);
                }
            }
            if (OneTimeTearDown != null)
            {
                OneTimeTearDown.run(null);
            }
        }
        /// <summary>
        /// Performs the playback of actions in this module.
        /// </summary>
        /// <remarks>You should not call this method directly, instead pass the module
        /// instance to the <see cref="TestModuleRunner.Run(ITestModule)"/> method
        /// that will in turn invoke this method.</remarks>
        void ITestModule.Run()
        {
            //initialising HI values globally based on the AppBrand.
            BrandBasedHINames();
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.0;

            string applicationName = TestSuite.Current.Parameters["AppName"];
            string appActivity     = "md56f35e8d86ebdc1429f36073ae400eed3.SplashActivity";

            try
            {
                KeywordImplementation.LaunchAndroidApp(TestSuite.Current.Parameters["Device"], applicationName, appActivity);

//				KeywordImplementation.LaunchAndroidApp(TestSuite.Current.Parameters["Device"], applicationName, appActivity);
                Report.Info("Platform Version " + ((AndroidDriver <OpenQA.Selenium.Appium.Android.AndroidElement>)Accessor.getDriver()).Capabilities.GetCapability("platformVersion"));               ////..getCapabilities().getCapability("platformVersion")
                Report.Info("Device Name " + ((AndroidDriver <OpenQA.Selenium.Appium.Android.AndroidElement>)Accessor.getDriver()).Capabilities.GetCapability("deviceName"));

                if (KeywordImplementation.waitForObjectExist(By.Name("OK"), TimeSpan.FromSeconds(5)))
                {
                    KeywordImplementation.Click(By.Name("OK"));
                }
                var size = Accessor.getDriver().Manage().Window.Size;

                //Swipe from Bottom to Top and Top to bottom
                //Find swipe start and end point from screen's width and height.
                int  starty = 0, endy = 0, startx = 0;
                bool isTablet = size.Width >= 600;
                starty = (int)(size.Height * 0.50);
                endy   = (int)(size.Height * 0.20);
                startx = size.Width / 2;
                int count = 0;
                while (count != 3 && (!KeywordImplementation.waitForObjectExist(By.Id("Btn_AppInfo_Accept"), TimeSpan.FromSeconds(1))))
                {
                    ((AndroidDriver <OpenQA.Selenium.Appium.Android.AndroidElement>)Accessor.getDriver()).Swipe(startx, starty, startx, endy, 500);
                    count++;
                }
                Report.Success("Welcome Page screen is available");
                Logger.logSnapshot();
                KeywordImplementation.Click(By.Id("CheckBox_AcceptTAndC"));
                KeywordImplementation.Click(By.Id("Btn_AppInfo_Accept"));
                Delay.Seconds(15);
                // For SSO
//				((AndroidDriver<OpenQA.Selenium.Appium.Android.AndroidElement>)Accessor.getDriver()).Swipe(startx, starty, startx, endy, 0);
//				((AndroidDriver<OpenQA.Selenium.Appium.Android.AndroidElement>)Accessor.getDriver()).Swipe(startx, starty, startx, endy, 0);
//				//                KeywordImplementation.SwipeVerticle(3,0.50,0.20,By.XPath("//*[contains(@content-desc,'Yes, Allow')]"));
//				KeywordImplementation.Click(By.XPath("//*[contains(@content-desc,'Yes, Allow')]"));
//
                if (KeywordImplementation.waitForObjectExist(By.Name("Country"), TimeSpan.FromSeconds(3)))
                {
                    KeywordImplementation.Click(By.Name("Done"));
                }

                KeywordImplementation.TypeText(By.Id("Txt_Legitimation_Code1"), "8981");
                KeywordImplementation.TypeText(By.Id("Txt_Legitimation_Code2"), "9313");
                KeywordImplementation.TypeText(By.Id("Txt_Legitimation_Code3"), "9666");
                Report.Success("Access code screeen is available");
                Logger.logSnapshot();
                KeywordImplementation.Click(By.Name("Done"));
                Delay.Seconds(3);

                Ranorex.Report.Success(Accessor.getDriver().FindElement(By.Id("Txt_Legitimation_Msg")).Text);
                Logger.logSnapshot();
                while (count != 3 && (!KeywordImplementation.waitForObjectExist(By.Id("Continue"), TimeSpan.FromSeconds(1))))
                {
                    ((AndroidDriver <OpenQA.Selenium.Appium.Android.AndroidElement>)Accessor.getDriver()).Swipe(startx, starty, startx, endy, 500);
                    count++;
                }
                KeywordImplementation.Click(By.Name("Continue"));
                if (applicationName.Equals("com.connexx.fit2go", StringComparison.CurrentCultureIgnoreCase))
                {
                    KeywordImplementation.Click(By.Name("Done"));
                }

                Ranorex.Report.Success("Customer Ear Molds screen is available");
                Logger.logSnapshot();
                count = 0;
                while (count != 3 && (!KeywordImplementation.waitForObjectExist(By.Id("Btn_CustomMolds_Continue"), TimeSpan.FromSeconds(1))))
                {
                    ((AndroidDriver <OpenQA.Selenium.Appium.Android.AndroidElement>)Accessor.getDriver()).Swipe(startx, starty, startx, endy, 500);
                    count++;
                }
                KeywordImplementation.Click(By.Id("Btn_CustomMolds_Continue"));
                //Selecting the HIs from the list available for recommendation
                //SwitchToChooseHI();

                if (KeywordImplementation.waitForObjectExist(By.Id("Txt_CommonAlert_Title"), TimeSpan.FromSeconds(3)))
                {
                    Ranorex.Report.Success("Security alert has popped up");
                    Logger.logSnapshot();
                    KeywordImplementation.Click(By.Name("OK"));
                }

                Logger.logSnapshot();

                if (TestSuite.Current.Parameters["isTablet"].Equals("True", StringComparison.CurrentCultureIgnoreCase))
                {
                    KeywordImplementation.Click(By.Id("Tab_Cutomer_Settings"));
                }
                else
                {
                    TearDown.CloseApplication();
                    TestModuleRunner.Run(new STSAndBasic.AndroidSetUp());

                    KeywordImplementation.Click(By.Id("Btn_ActionBar_Right"), "Click on Settings");
                }
                Delay.Seconds(2);
                SwitchSettingOmniture(false);
            }
            finally
            {
                if (Accessor.getDriver() != null)
                {
                    Accessor.getDriver().Quit();
                }
            }
        }
Esempio n. 5
0
 public void CloseApp()
 {
     TearDown.CloseApplication();
 }