Пример #1
0
        public void SolutionActivitiesLazyLoadTest_NotLoaded()
        {
            //Arrange
            WorkSpace.Instance.OpenSolution(Path.Combine(TestResources.GetTestResourcesFolder(@"Solutions"), "BasicSimple"));
            SolutionRepository SR = WorkSpace.Instance.SolutionRepository;

            //Act
            ObservableList <BusinessFlow> bfs = SR.GetAllRepositoryItems <BusinessFlow>();

            //Assert
            Assert.AreEqual(bfs.Count, 1, "Validating Bfs were loaded");
            Assert.AreEqual(bfs[0].ActivitiesLazyLoad, true, "Validating Bf Activities were not loaded");
        }
        public void RunsetRunnersLazyLoadTest_NotLoaded()
        {
            //Arrange
            WorkSpace.Instance.OpenSolution(Path.Combine(TestResources.GetTestResourcesFolder(@"Solutions"), "BasicSimple"));
            SolutionRepository SR = WorkSpace.Instance.SolutionRepository;

            //Act
            ObservableList <RunSetConfig> runSetConfigs = SR.GetAllRepositoryItems <RunSetConfig>();

            //Assert
            Assert.AreEqual(runSetConfigs.Count, 1, "Validating run sets were loaded");
            Assert.AreEqual(runSetConfigs[0].GingerRunnersLazyLoad, true, "Validating run set runners were not loaded");
        }
        public void AddPluginPackage()
        {
            // Arrange
            PluginsManager mPlugInsManager = new PluginsManager();
            string         folder          = TestResources.GetTestResourcesFolder(@"PluginPackages\GingerOfficePlugin");

            //Act
            mPlugInsManager.AddPluginPackage(folder);
            ObservableList <StandAloneAction> list = mPlugInsManager.GetStandAloneActions();

            //Assert
            Assert.AreEqual(5, list.Count, "There are 5 stand alone actions");
        }
Пример #4
0
 public static void ClassCleanup()
 {
     try
     {
         //Delete 'Report' folder which is crated after Dynamic Runset Execution
         System.IO.DirectoryInfo di = new DirectoryInfo(TestResources.GetTestResourcesFolder(@"Solutions" + Path.DirectorySeparatorChar + "BasicSimple" + Path.DirectorySeparatorChar + "Reports" + Path.DirectorySeparatorChar + "Reports"));
         di.Delete(true);
     }
     catch (Exception e)
     {
         Reporter.ToLog(eLogLevel.ERROR, e.Message);
     }
 }
Пример #5
0
        public static void ClassInit(TestContext context)
        {
            mBF            = new BusinessFlow();
            mBF.Activities = new ObservableList <Activity>();
            mBF.Name       = "BF Test Fire Fox";
            mBF.Active     = true;
            Platform p = new Platform();

            p.PlatformType = ePlatformType.Web;
            mBF.TargetApplications.Add(new TargetApplication()
            {
                AppName = "SCM"
            });

            VariableString v1 = new VariableString()
            {
                Name = "v1", InitialStringValue = "1"
            };

            mBF.AddVariable(v1);

            mGR = new GingerRunner();
            mGR.CurrentSolution = new Ginger.SolutionGeneral.Solution();

            Agent a = new Agent();

            //a.DriverType = Agent.eDriverType.SeleniumFireFox;//have known firefox issues with selenium 3
            a.DriverType = Agent.eDriverType.SeleniumChrome;

            mGR.SolutionAgents = new ObservableList <Agent>();
            mGR.SolutionAgents.Add(a);
            // p2.Agent = a;

            mGR.ApplicationAgents.Add(new ApplicationAgent()
            {
                AppName = "SCM", Agent = a
            });
            mGR.SolutionApplications = new ObservableList <ApplicationPlatform>();
            mGR.SolutionApplications.Add(new ApplicationPlatform()
            {
                AppName = "SCM", Platform = ePlatformType.Web, Description = "New application"
            });
            mGR.BusinessFlows.Add(mBF);



            string path = Path.Combine(TestResources.GetTestResourcesFolder(@"Solutions" + Path.DirectorySeparatorChar + "BasicSimple"));

            SR = GingerSolutionRepository.CreateGingerSolutionRepository();
            SR.Open(path);
        }
Пример #6
0
        public static void ClassInit(TestContext TC)
        {
            string sampleSolutionFolder = TestResources.GetTestResourcesFolder(@"Solutions\EnvsTest");

            SolutionFolder = TestResources.GetTestTempFolder(@"Solutions\EnvsTest");
            if (Directory.Exists(SolutionFolder))
            {
                Directory.Delete(SolutionFolder, true);
            }
            CopyDir.Copy(sampleSolutionFolder, SolutionFolder);

            mGingerAutomator = GingerAutomator.StartSession();
            mGingerAutomator.OpenSolution(SolutionFolder);
        }
Пример #7
0
        public void SolutionPomElementsLazyLoadTest_NotLoaded()
        {
            //Arrange
            WorkSpace.Instance.OpenSolution(Path.Combine(TestResources.GetTestResourcesFolder(@"Solutions"), "BasicSimple"));
            SolutionRepository SR = WorkSpace.Instance.SolutionRepository;

            //Act
            ObservableList <ApplicationPOMModel> poms = SR.GetAllRepositoryItems <ApplicationPOMModel>();

            //Assert
            Assert.AreEqual(poms.Count, 1, "Validating POMs were loaded");
            Assert.AreEqual(poms[0].UnMappedUIElementsLazyLoad, true, "Validating POM Un Mappped Elements were not loaded");
            Assert.AreEqual(poms[0].MappedUIElementsLazyLoad, true, "Validating POM Mappped Elements were not loaded");
        }
        public void RunsetRunnersLazyLoadTest_Loaded()
        {
            //Arrange
            WorkSpace.Instance.OpenSolution(Path.Combine(TestResources.GetTestResourcesFolder(@"Solutions"), "BasicSimple"), EncryptionHandler.GetDefaultKey());
            SolutionRepository SR = WorkSpace.Instance.SolutionRepository;

            //Act
            ObservableList <RunSetConfig> runSetConfigs = SR.GetAllRepositoryItems <RunSetConfig>();
            ObservableList <GingerRunner> runners       = runSetConfigs[0].GingerRunners;

            //Assert
            Assert.AreEqual(runSetConfigs.Count, 1, "Validating run sets were loaded");
            Assert.AreEqual(runSetConfigs[0].GingerRunnersLazyLoad, false, "Validating run set runners were loaded 1");
            Assert.AreEqual(runners.Count, 1, "Validating run set runners were loaded 2");
        }
Пример #9
0
        public void BFVariablesLazyLoadTest_Loaded()
        {
            //Arrange
            WorkSpace.Instance.OpenSolution(Path.Combine(TestResources.GetTestResourcesFolder(@"Solutions"), "BasicSimple"));
            SolutionRepository SR = WorkSpace.Instance.SolutionRepository;

            //Act
            ObservableList <BusinessFlow> bfs       = SR.GetAllRepositoryItems <BusinessFlow>();
            ObservableList <VariableBase> variables = bfs[0].Variables;

            //Assert
            Assert.AreEqual(bfs.Count, 1, "Validating Bfs were loaded");
            Assert.AreEqual(bfs[0].VariablesLazyLoad, false, "Validating Bf Variables were loaded 1");
            Assert.AreEqual(variables.Count, 2, "Validating Bf Variables were loaded 2");
        }
        public void SolutionActivitiesLazyLoadTest_Loaded()
        {
            //Arrange
            WorkSpace.Instance.OpenSolution(Path.Combine(TestResources.GetTestResourcesFolder(@"Solutions"), "BasicSimple"), EncryptionHandler.GetDefaultKey());
            SolutionRepository SR = WorkSpace.Instance.SolutionRepository;

            //Act
            ObservableList <BusinessFlow> bfs        = SR.GetAllRepositoryItems <BusinessFlow>();
            ObservableList <Activity>     activities = bfs[0].Activities;

            //Assert
            Assert.AreEqual(bfs.Count, 1, "Validating Bfs were loaded");
            Assert.AreEqual(bfs[0].ActivitiesLazyLoad, false, "Validating Bf Activities were loaded 1");
            Assert.AreEqual(activities.Count, 1, "Validating Bf Activities were loaded 2");
        }
Пример #11
0
        public static void ClassInit(TestContext testContext)
        {
            //Arrange
            string name        = "MyNewPOM";
            string description = "MyDescription";

            string sampleSolutionFolder = TestResources.GetTestResourcesFolder(@"Solutions\POMsTest");
            string SolutionFolder       = TestResources.GetTestTempFolder(@"Solutions\POMsTest");

            if (Directory.Exists(SolutionFolder))
            {
                Directory.Delete(SolutionFolder, true);
            }

            CopyDir.Copy(sampleSolutionFolder, SolutionFolder);
            GingerAutomator mGingerAutomator = GingerAutomator.StartSession();

            mGingerAutomator.OpenSolution(SolutionFolder);

            mPOMsPOM = mGingerAutomator.MainWindowPOM.GotoPOMs();

            Agent mChromeAgent = (from x in WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Agent>() where x.Name == "ChromeAgent" select x).SingleOrDefault();

            //Act
            prioritizedLocatorsList = new List <ElementLocator>()
            {
                new ElementLocator()
                {
                    Active = false, LocateBy = eLocateBy.ByName
                },
                new ElementLocator()
                {
                    Active = true, LocateBy = eLocateBy.ByID
                },
                new ElementLocator()
                {
                    Active = false, LocateBy = eLocateBy.ByXPath
                },
                new ElementLocator()
                {
                    Active = true, LocateBy = eLocateBy.ByRelXPath
                }
            };
            mLearnedPOM = mPOMsPOM.CreatePOM(name, description, "MyWebApp", mChromeAgent, @"HTML\HTMLControls.html", new List <eElementType>()
            {
                eElementType.HyperLink, eElementType.Table, eElementType.ListItem
            }, prioritizedLocatorsList);
        }
Пример #12
0
        static void Prep()
        {
            // Create new solution
            mBusinessFlow            = new BusinessFlow();
            mBusinessFlow.Activities = new ObservableList <Activity>();
            mBusinessFlow.Name       = "MyDriver BF";
            mBusinessFlow.Active     = true;
            Platform p = new Platform();

            p.PlatformType = ePlatformType.NA;
            mBusinessFlow.TargetApplications.Add(new TargetApplication()
            {
                AppName = mAppName
            });

            mGingerRunner = new GingerRunner();
            mGingerRunner.CurrentSolution = new Ginger.SolutionGeneral.Solution();

            Agent agent = new Agent();

            agent.AgentType = Agent.eAgentType.Service;

            mGingerRunner.SolutionAgents = new ObservableList <Agent>();
            mGingerRunner.SolutionAgents.Add(agent);

            mGingerRunner.ApplicationAgents.Add(new ApplicationAgent()
            {
                AppName = mAppName, Agent = agent
            });
            mGingerRunner.SolutionApplications = new ObservableList <ApplicationPlatform>();
            mGingerRunner.SolutionApplications.Add(new ApplicationPlatform()
            {
                AppName = mAppName, Platform = ePlatformType.NA
            });
            mGingerRunner.BusinessFlows.Add(mBusinessFlow);

            WorkspaceHelper.CreateWorkspaceWithTempSolution("sol1");

            // Add the plugin to solution
            string pluginFolder = TestResources.GetTestResourcesFolder(@"Plugins" + Path.DirectorySeparatorChar + "PluginDriverExample4");

            WorkSpace.Instance.PlugInsManager.Init(WorkSpace.Instance.SolutionRepository);
            WorkSpace.Instance.PlugInsManager.AddPluginPackage(pluginFolder);


            Console.WriteLine("LocalGingerGrid Status: " + WorkSpace.Instance.LocalGingerGrid.Status);
        }
Пример #13
0
        public static void ClassInit(TestContext TC)
        {
            mTC = TC;

            string sampleSolutionFolder = TestResources.GetTestResourcesFolder(@"Solutions\BasicSimple");

            SolutionFolder = TestResources.getGingerUnitTesterTempFolder(@"Solutions\VariablesTest");
            if (Directory.Exists(SolutionFolder))
            {
                Directory.Delete(SolutionFolder, true);
            }

            CopyDir.Copy(sampleSolutionFolder, SolutionFolder);

            mGingerAutomator = GingerAutomator.StartSession();
            mGingerAutomator.OpenSolution(SolutionFolder);
        }
Пример #14
0
        public static void ClassInit(TestContext TC)
        {
            mTC = TC;
            mGingerAutomator.StartGinger();
            string sampleSolutionFolder = TestResources.GetTestResourcesFolder(@"Solutions\EnvsTest");

            SolutionFolder = TestResources.getGingerUnitTesterTempFolder(@"Solutions\EnvsTest");
            if (Directory.Exists(SolutionFolder))
            {
                Directory.Delete(SolutionFolder, true);
            }

            CopyDir.Copy(sampleSolutionFolder, SolutionFolder);

            mGingerAutomator.OpenSolution(SolutionFolder);

            LogFile = mTC.TestLogsDir + @"\Ginger_BasicsTest.txt";
        }
Пример #15
0
        public void SolutionPomElementsLazyLoadTest_Loaded()
        {
            //Arrange
            WorkSpace.Instance.OpenSolution(Path.Combine(TestResources.GetTestResourcesFolder(@"Solutions"), "BasicSimple"));
            SolutionRepository SR = WorkSpace.Instance.SolutionRepository;

            //Act
            ObservableList <ApplicationPOMModel> poms     = SR.GetAllRepositoryItems <ApplicationPOMModel>();
            ObservableList <ElementInfo>         unMapped = poms[0].UnMappedUIElements;
            ObservableList <ElementInfo>         mapped   = poms[0].MappedUIElements;

            //Assert
            Assert.AreEqual(poms.Count, 1, "Validating POMs were loaded");
            Assert.AreEqual(poms[0].UnMappedUIElementsLazyLoad, false, "Validating POM Un Mappped Elements were loaded 1");
            //Assert.AreEqual(unMapped.Count, 1, "Validating POM Un Mappped Elements were loaded 2"); //TODO: move HtmlElementInfo to .NET core project for enabeling this Assert
            Assert.AreEqual(poms[0].MappedUIElementsLazyLoad, false, "Validating POM Mappped Elements were not loaded 1");
            //Assert.AreEqual(mapped.Count, 15, "Validating POM Mappped Elements were not loaded 2 "); //TODO: move HtmlElementInfo to .NET core project for enabeling this Assert
        }
Пример #16
0
        private static void CreateTestSolution()
        {
            string sourceFolder = TestResources.GetTestResourcesFolder(@"Solutions\ReportSR");

            solutionFolder = TestResources.GetTestTempFolder(@"Solutions\ReportSR");
            if (Directory.Exists(solutionFolder))
            {
                Directory.Delete(solutionFolder, true);
            }
            CopyDir.Copy(sourceFolder, solutionFolder);

            SolutionRepository SR = new SolutionRepository();

            SR = Ginger.App.CreateGingerSolutionRepository();
            SR.Open(solutionFolder);

            SR.Close();
        }
Пример #17
0
        public static void ClassInitialize(TestContext TestContext)
        {
            mTestHelper.ClassInitialize(TestContext);

            mTestHelper.Log("Creating temp solution");
            // Init workspace
            string solutionFolder = TestResources.GetTempFolder("WebPlatformPluginTest");

            WorkspaceHelper.CreateWorkspaceWithTempSolution(solutionFolder);


            // To debug SeleniumPlugin start the plugin from VS to register to LocalGrid
            string pluginFolder = TestResources.GetTestResourcesFolder("Plugins" + Path.DirectorySeparatorChar + "SeleniumPlugin");

            WorkSpace.Instance.PlugInsManager.Init(WorkSpace.Instance.SolutionRepository);
            mTestHelper.Log("Adding SeleniumPlugin from: " + pluginFolder);
            WorkSpace.Instance.PlugInsManager.AddPluginPackage(pluginFolder);

            // Start Agent

            agent           = new Agent();
            agent.AgentType = Agent.eAgentType.Service;
            agent.PluginId  = "SeleniumPlugin";
            agent.ServiceId = "SeleniumChromeService";
            mTestHelper.Log("StartDriver SeleniumPlugin SeleniumChromeService");
            agent.AgentOperations.StartDriver();

            GingerGrid GG        = WorkSpace.Instance.LocalGingerGrid;
            Stopwatch  stopwatch = Stopwatch.StartNew();

            mTestHelper.Log("Waiting for node to connect");
            while (GG.NodeList.Count == 0 && stopwatch.ElapsedMilliseconds < 10000)   // wait max 10 seconds
            {
                mTestHelper.Log("GG.NodeList.Count == 0");
                Thread.Sleep(100);
            }

            if (GG.NodeList.Count == 0)
            {
                throw new Exception("GG.NodeList.Count == 0");
            }

            mTestHelper.Log("Done Waiting");
        }
Пример #18
0
        public void JavaFreeCommandOverrideXMLExecutionTest()
        {
            //Arrange
            TestNGExecuterService service = new TestNGExecuterService();
            GingerAction          GA      = new GingerAction();

            List <TestNGTestParameter> paramsToOveride = new List <TestNGTestParameter>();

            paramsToOveride.Add(new TestNGTestParameter()
            {
                Name = "Num1", Value = "7"
            });
            paramsToOveride.Add(new TestNGTestParameter()
            {
                Name = "Num2", Value = "4"
            });

            bool parseReport = false;

            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                parseReport = true;
            }

            //Act
            service.ExecuteJavaFreeCommand(GA, OverwriteJavaHomePath: null, JavaWorkingFolderPath: TestResources.GetTestResourcesFolder(@"JavaTestNG"),
                                           FreeCommandArguments: string.Format("java -cp \"{0}{1}{2}\" org.testng.TestNG \"{3}\"", Path.Combine(TestResources.GetTestResourcesFolder("JavaTestNG"), "bin"), General.GetOSFoldersSeperator(), Path.Combine(TestResources.GetTestResourcesFolder("JavaTestNG"), "Resources", "*"), Path.Combine(TestResources.GetTestResourcesFolder("JavaTestNG"), "src", "Calculator", "testng.xml")),
                                           TestngXmlPath: Path.Combine(TestResources.GetTestResourcesFolder("JavaTestNG"), "src", "Calculator", "testng.xml"), TestngXmlParametersToOverwrite: paramsToOveride, OverwriteOriginalTestngXml: false,
                                           ParseConsoleOutputs: true, FailActionDueToConsoleErrors: false,
                                           ParseTestngResultsXml: parseReport, OverwriteTestngResultsXmlDefaultFolderPath: Path.Combine(TestResources.GetTestResourcesFolder("JavaTestNG"), "test-output"), FailActionDueToTestngResultsXmlFailures: true);

            //Assert
            Assert.AreEqual((GA.Errors == null || GA.Errors.Count() == 0), true, "No Execution Errors validation");
            Assert.AreEqual((GA.Output != null && GA.Output.OutputValues.Count > 0), true, "Execution Output values found validation");
            Assert.AreEqual(General.OutputParamExist(GA, "Multipliy Result", "28"), true, "Console Multipliy Output captured validation");
            Assert.AreEqual(General.OutputParamExist(GA, "Sum Result", "11"), true, "Console Sum Output captured validation");
            if (parseReport)
            {
                Assert.AreEqual(General.OutputParamExist(GA, "Total Passed Test Methods", "2"), true, "TestNg Report XML Statistics Parsing validation");
                Assert.AreEqual(General.OutputParamExist(GA, "CalculatorTests- Suite Start Time"), true, "TestNg Report XML Suite details Parsing validation");
                Assert.AreEqual(General.OutputParamExist(GA, @"test1\testMoltiple-Test Status", "PASS"), true, "TestNg Report XML Test 1 Status Parsing validation");
                Assert.AreEqual(General.OutputParamExist(GA, @"test1\testSum-Test Status", "PASS"), true, "TestNg Report XML Test 2 Status Parsing validation");
            }
        }
Пример #19
0
        public void GetURL_Testing()
        {
            ActBrowserElement act = new ActBrowserElement();

            act.LocateBy           = eLocateBy.ByName;
            act.ControlAction      = ActBrowserElement.eControlAction.GetPageURL;
            act.AddNewReturnParams = true;
            act.Active             = true;
            mBF.CurrentActivity.Acts.Add(act);
            mBF.CurrentActivity.Acts.CurrentItem = act;
            mGR.RunAction(act, false);

            Assert.AreEqual(act.Status, eRunStatus.Passed, "Action Status");
            string actual   = act.GetReturnParam("Actual");
            string expected = @"file://" + TestResources.GetTestResourcesFolder("PBTestApp") + @"\Browser.html";

            Assert.AreEqual(actual, expected, "True");
            Assert.AreEqual(act.Error, null, "Act.Error");
        }
Пример #20
0
        public void SimpleMavenTestngXmlExecutionTest()
        {
            //Arrange
            TestNGExecuterService service = new TestNGExecuterService();
            GingerAction          GA      = new GingerAction();

            //Act
            service.ExecuteMavenProjectTestNGXML(GA, OverwriteMavenHomePath: null, MavenProjectFolderPath: TestResources.GetTestResourcesFolder(@"MavenTestNG"), PerformMavenInstall: true,
                                                 TestngXmlPath: Path.Combine(TestResources.GetTestResourcesFolder("MavenTestNG"), "src", "main", "java", "com", "Calculator", "testng.xml"), TestngXmlParametersToOverwrite: null, OverwriteOriginalTestngXml: false,
                                                 ParseConsoleOutputs: false, FailActionDueToConsoleErrors: false,
                                                 ParseTestngResultsXml: true, OverwriteTestngResultsXmlDefaultFolderPath: null, FailActionDueToTestngResultsXmlFailures: true);

            //Assert
            Assert.AreEqual((GA.Errors == null || GA.Errors.Count() == 0), true, "No Execution Errors validation");
            Assert.AreEqual((GA.Output != null && GA.Output.OutputValues.Count > 0), true, "Execution Output values found validation");
            Assert.AreEqual(General.OutputParamExist(GA, "CalculatorTests- Suite Start Time"), true, "TestNg Report XML Suite details Parsing validation");
            Assert.AreEqual(General.OutputParamExist(GA, @"test1\testMoltiple-Test Status", "PASS"), true, "TestNg Report XML Test 1 Status Parsing validation");
            Assert.AreEqual(General.OutputParamExist(GA, @"test1\testSum-Test Status", "PASS"), true, "TestNg Report XML Test 2 Status Parsing validation");
        }
Пример #21
0
        public void CreateReportFromFolder()
        {
            // Arrange
            string folder = TestResources.GetTestResourcesFolder("Reports" + Path.DirectorySeparatorChar + "AutomationTab_LastExecution");

            //Act
            ReportInfo    reportInfo = new ReportInfo(folder);
            NewHTMLReport rep        = new NewHTMLReport();
            string        s          = rep.CreateReport(reportInfo);



            // TODO: need to create same report like HTMLDetailedReport

            // System.IO.File.WriteAllText(@"c:\temp\rep1.html", s);


            //HTMLDetailedReport hTMLDetailedReport = new HTMLDetailedReport();

            //HTMLReportConfiguration hTMLReportConfiguration = new HTMLReportConfiguration();
            //hTMLReportConfiguration.RunSetFieldsToSelect = HTMLReportConfiguration.GetReportLevelMembers(typeof(RunSetReport));
            //hTMLReportConfiguration.EmailSummaryViewFieldsToSelect = HTMLReportConfiguration.GetReportLevelMembers(typeof(RunSetReport));
            //hTMLReportConfiguration.GingerRunnerFieldsToSelect = HTMLReportConfiguration.GetReportLevelMembers(typeof(GingerReport));
            //hTMLReportConfiguration.BusinessFlowFieldsToSelect = HTMLReportConfiguration.GetReportLevelMembers(typeof(BusinessFlowReport));
            //hTMLReportConfiguration.ActivityGroupFieldsToSelect = HTMLReportConfiguration.GetReportLevelMembers(typeof(ActivityGroupReport));
            //hTMLReportConfiguration.ActivityFieldsToSelect = HTMLReportConfiguration.GetReportLevelMembers(typeof(ActivityReport));
            //hTMLReportConfiguration.ActionFieldsToSelect = HTMLReportConfiguration.GetReportLevelMembers(typeof(ActionReport));


            //GingerExecutionReport gingerExecutionReport = new GingerExecutionReport();
            //gingerExecutionReport.TemplatesFolder = @"C:\Users\yaronwe\source\repos\Ginger\Ginger\Ginger\Reports\GingerExecutionReport\";
            //gingerExecutionReport.HTMLReportMainFolder = @"c:\temp\rep1";
            //gingerExecutionReport.CreateSummaryViewReport(reportInfo);
            // gingerExecutionReport.CreateSummaryViewReport( .CreateBusinessFlowLevelReport(reportInfo);

            // string s = ExtensionMethods.CreateSummaryViewReport( .CreateGingerExecutionReport(reportInfo, true);
            // string s = hTMLDetailedReport.CreateReport(reportInfo);
            //System.IO.File.WriteAllText(@"c:\temp\rep1.html", s);

            // gingerExecutionReport.cre .CreateGingerExecutionReport()
            //HTMLSummaryReport
        }
Пример #22
0
        public void OLDCLIDynamicRegressionTest()
        {
            //Arrange
            //Create config file
            string fileName   = Path.Combine(TestResources.GetTestResourcesFolder("CLI"), "CLI-Default Run Set.Ginger.AutoRunConfigs.xml");
            string dynamicXML = System.IO.File.ReadAllText(fileName);

            dynamicXML = dynamicXML.Replace("SOLUTION_PATH", mSolutionFolder);
            string configFile = TestResources.GetTempFile("CLI-Default Run Set.Ginger.AutoRunConfigs.xml");

            System.IO.File.WriteAllText(configFile, dynamicXML);

            // Act
            CLIProcessor CLI = new CLIProcessor();

            CLI.ExecuteArgs(new string[] { "Dynamic=" + configFile });

            // Assert
            Assert.AreEqual(eRunStatus.Passed, WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[0].RunStatus, "BF RunStatus=Passed");
        }
        public void DragAndDrop()
        {
            try
            {
                Service.BrowserActions.Navigate("https://www.seleniumeasy.com/test/drag-and-drop-demo.html", "Current");

                GingerWebElement Element = Service.LocateWebElement.LocateElementByXPath(eElementType.WebElement, "//*[@id=\"todrag\"]/span[1]") as GingerWebElement;
                GingerWebElement Target  = Service.LocateWebElement.LocateElementByID(eElementType.WebElement, "mydropzone") as GingerWebElement;
                Element.DragAndDrop("DragDropJS", Target);

                GingerWebElement validation = Service.LocateWebElement.LocateElementByXPath(eElementType.Span, "//*[@id=\"droppedlist\"]/span") as GingerWebElement;
                Assert.AreEqual("Draggable 1", validation.GetAttribute("innerHTML"));
            }
            finally
            {
                //cleanup
                string url = Path.Combine(TestResources.GetTestResourcesFolder("HTML"), "HTMLControls.html");
                Service.BrowserActions.Navigate(url, "Current");
            }
        }
Пример #24
0
        public void CLIDynamicJSON_NotExist_OnlyNames_Test()
        {
            // Arrange
            string jsonConfigFilePath = CreateTempJSONConfigFile(Path.Combine(TestResources.GetTestResourcesFolder("CLI"), "CLI-NotExisting_OnlyNames.Ginger.AutoRunConfigs.json"), mSolutionFolder);

            // Act
            CLIProcessor CLI = new CLIProcessor();

            CLI.ExecuteArgs(new string[] { "dynamic", "-f", jsonConfigFilePath });

            // Assert
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.RunSetConfig.Name, "Calc_Test_Dynamic", "Validating correct Run set was executed");

            //Runner
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].Name, "Runner Dynamic", "Validating correct Runner Name");

            //Envs Validation
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.RunsetExecutionEnvironment.Name, "Env1", "Validating correct Run set Environment");
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].ProjEnvironment.Name, "Env2", "Validating correct Runner Environment");

            //Agent Validation
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].ApplicationAgents[0].AgentName, "IE", "Validating correct Runner Agent");

            //BF 1 Validation
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[0].Name, "Calculator_Test", "Validating correct Business Flow was executed");
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[0].GetBFandActivitiesVariabeles(false).Where(x => x.Name == "DoMultiply?").FirstOrDefault().Value, "No", "Validating Customized BF level Selection List Variable");
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[0].GetBFandActivitiesVariabeles(false).Where(x => x.Name == "SecondNum_ForSum").FirstOrDefault().Value, "44", "Validating Customized Activity level String Variable");
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[0].RunStatus, eRunStatus.Passed, "Validating BF execution Passed");

            //BF 2 Validation (same instance of BF)
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[2].Name, "Calculator_Test", "Validating correct Business Flow was executed");
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[2].GetBFandActivitiesVariabeles(false).Where(x => x.Name == "DoDivide?").FirstOrDefault().Value, "No", "Validating Customized BF level Selection List Variable");
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[2].GetBFandActivitiesVariabeles(false).Where(x => x.Name == "SecondNum_ForDivide").FirstOrDefault().Value, "1", "Validating Customized Activity level String Variable");
            Assert.AreEqual(WorkSpace.Instance.RunsetExecutor.Runners[0].BusinessFlows[2].RunStatus, eRunStatus.Stopped, "Validating BF execution Stopped");

            Assert.AreEqual(((RunSetActionHTMLReportSendEmail)(WorkSpace.Instance.RunsetExecutor.RunSetConfig.RunSetActions[0])).MailTo, "*****@*****.**", "Validating report mail Address");
            Assert.AreEqual(((RunSetActionHTMLReportSendEmail)(WorkSpace.Instance.RunsetExecutor.RunSetConfig.RunSetActions[0])).Subject, "AAA", "Validating report mail Subject");
        }
Пример #25
0
        public void RunScriptAPlusBBAT()
        {
            // Arrange
            ActScript v = new ActScript();

            v.ScriptInterpreterType = ActScript.eScriptInterpreterType.BAT;
            v.AddNewReturnParams    = true;
            v.ScriptCommand         = ActScript.eScriptAct.Script;
            v.AddOrUpdateInputParamCalculatedValue("p1", "5");
            v.AddOrUpdateInputParamCalculatedValue("p2", "7");

            v.ScriptName = "BatchScriptWithArgs.bat";
            v.ScriptPath = TestResources.GetTestResourcesFolder("");

            //Act
            v.Execute();

            //Assert
            Assert.AreEqual(v.Error, null);

            Assert.AreEqual(v.ReturnValues[0].Param, "Result");
            Assert.AreEqual(v.ReturnValues[0].Actual, "12");
        }
Пример #26
0
        public static void ClassInit(TestContext TC)
        {
            TC.WriteLine("@@@@@@@@@@@@@@@@@@@@@@ ClassInit @@@@@@@@@@@@@@@@@@@@@@@@@@@@");
            mTC = TC;
            Console.WriteLine("===> Starting Ginger");
            mGingerAutomator = new GingerAutomator();
            mGingerAutomator.StartGinger();
            string sampleSolutionFolder = TestResources.GetTestResourcesFolder(@"Solutions\EnvsTest");

            SolutionFolder = TestResources.getGingerUnitTesterTempFolder(@"Solutions\EnvsTest");
            if (Directory.Exists(SolutionFolder))
            {
                Directory.Delete(SolutionFolder, true);
            }

            CopyDir.Copy(sampleSolutionFolder, SolutionFolder);

            Console.WriteLine("===> Open solution");
            TC.WriteLine("@@@@@@@@@@@@@@@@@@@@@@ Open solution @@@@@@@@@@@@@@@@@@@@@@@@@@@@");
            mGingerAutomator.OpenSolution(SolutionFolder);

            LogFile = mTC.TestLogsDir + @"\Ginger_BasicsTest.txt";
        }
Пример #27
0
        public static void ClassInitialize(TestContext TestContext)
        {
            WorkspaceHelper.CreateDummyWorkSpace();

            string folder = TestResources.GetTestTempFolder("Solutions", "PluginTest");

            if (Directory.Exists(folder))
            {
                Directory.Delete(folder, true);
            }

            SR = GingerSolutionRepository.CreateGingerSolutionRepository();
            SR.CreateRepository(folder);
            SR.Open(folder);
            WorkSpace.Instance.SolutionRepository = SR;
            string pluginFolder = TestResources.GetTestResourcesFolder(@"PluginPackages" + Path.DirectorySeparatorChar + "GingerOfficePlugin");


            //string txt = WorkSpace.Instance.PlugInsManager.CreatePluginPackageInfo("GingerOfficePlugin", "1.0.0");
            //System.IO.File.WriteAllText(pluginFolder + @"\Ginger.PluginPackage.json", txt);

            WorkSpace.Instance.PlugInsManager.Init(SR);
            WorkSpace.Instance.PlugInsManager.AddPluginPackage(pluginFolder);
        }
Пример #28
0
        public void ActivitiesLazyLoadViaNodeLPath()
        {
            //arragne
            ObservableList <Activity> activities = new ObservableList <Activity>();

            activities.LazyLoadDetails = new LazyLoadListDetails()
            {
                XmlFilePath = Path.Combine(TestResources.GetTestResourcesFolder(@"XML"), "ActivityTest.Ginger.Activity.xml")
            };
            activities.LazyLoadDetails.Config = new LazyLoadListConfig()
            {
                LazyLoadType = LazyLoadListConfig.eLazyLoadType.NodePath, ListName = nameof(BusinessFlow.Activities)
            };

            //act
            if (activities.LazyLoad)
            {
                activities.LoadLazyInfo();
            }

            //assert
            Assert.AreEqual(1, activities.Count);
            Assert.AreEqual(false, activities.LazyLoad);
        }
Пример #29
0
        public void ConsoleOutputsReadExecutionTest()
        {
            //Arrange
            TestNGExecuterService service = new TestNGExecuterService();
            GingerAction          GA      = new GingerAction();

            List <TestNGTestParameter> paramsToOveride = new List <TestNGTestParameter>();

            paramsToOveride.Add(new TestNGTestParameter()
            {
                Name = "Num1", Value = "7"
            });
            paramsToOveride.Add(new TestNGTestParameter()
            {
                Name = "Num2", Value = "3"
            });

            //Act
            service.ExecuteTestNGXML(GA, OverwriteJavaHomePath: null, JavaProjectBinPath: Path.Combine(TestResources.GetTestResourcesFolder("JavaTestNG"), "bin"), JavaProjectResourcesPath: Path.Combine(TestResources.GetTestResourcesFolder("JavaTestNG"), "Resources"),
                                     TestngXmlPath: Path.Combine(TestResources.GetTestResourcesFolder("JavaTestNG"), "bin", "Calculator", "testng.xml"), TestngXmlParametersToOverwrite: paramsToOveride, OverwriteOriginalTestngXml: false,
                                     ParseConsoleOutputs: true, FailActionDueToConsoleErrors: true,
                                     ParseTestngResultsXml: true, OverwriteTestngResultsXmlDefaultFolderPath: null, FailActionDueToTestngResultsXmlFailures: true);

            //Assert
            Assert.AreEqual((GA.Errors == null || GA.Errors.Count() == 0), true, "No Execution Errors validation");
            Assert.AreEqual((GA.Output != null && GA.Output.OutputValues.Count > 0), true, "Execution Output values found validation");
            Assert.AreEqual(General.OutputParamExist(GA, "Multipliy Result", "21"), true, "Console Multipliy Output captured validation");
            Assert.AreEqual(General.OutputParamExist(GA, "Sum Result", "10"), true, "Console Sum Output captured validation");
            Assert.AreEqual(General.OutputParamExist(GA, "Total Passed Test Methods", "2"), true, "TestNg Report XML Statistics Parsing validation");
            Assert.AreEqual(General.OutputParamExist(GA, "CalculatorTests- Suite Start Time"), true, "TestNg Report XML Suite details Parsing validation");
            Assert.AreEqual(General.OutputParamExist(GA, @"test1\testMoltiple-Test Status", "PASS"), true, "TestNg Report XML Test 1 Status Parsing validation");
            Assert.AreEqual(General.OutputParamExist(GA, @"test1\testSum-Test Status", "PASS"), true, "TestNg Report XML Test 2 Status Parsing validation");
        }
Пример #30
0
        public void MavenFreeCommandXmlParametersOverrideOnOriginalXmlExecutionTest()
        {
            //Arrange
            TestNGExecuterService service = new TestNGExecuterService();
            GingerAction          GA      = new GingerAction();

            List <TestNGTestParameter> paramsToOveride = new List <TestNGTestParameter>();

            paramsToOveride.Add(new TestNGTestParameter()
            {
                Name = "Num1", Value = "6"
            });
            paramsToOveride.Add(new TestNGTestParameter()
            {
                Name = "Num2", Value = "7"
            });

            //Act
            service.ExecuteMavenFreeCommand(GA, OverwriteMavenHomePath: null, MavenProjectFolderPath: TestResources.GetTestResourcesFolder(@"MavenTestNG"),
                                            FreeCommandArguments: "clean install test -DsuiteXmlFile=\"src/main/java/com/Calculator/testng.xml\"",
                                            TestngXmlPath: Path.Combine(TestResources.GetTestResourcesFolder("MavenTestNG"), "src", "main", "java", "com", "Calculator", "testng.xml"), TestngXmlParametersToOverwrite: paramsToOveride, OverwriteOriginalTestngXml: true,
                                            ParseConsoleOutputs: true, FailActionDueToConsoleErrors: false,
                                            ParseTestngResultsXml: true, OverwriteTestngResultsXmlDefaultFolderPath: null, FailActionDueToTestngResultsXmlFailures: true);

            //Assert
            Assert.AreEqual((GA.Errors == null || GA.Errors.Count() == 0), true, "No Execution Errors validation");
            Assert.AreEqual((GA.Output != null && GA.Output.OutputValues.Count > 0), true, "Execution Output values found validation");
            Assert.AreEqual(General.OutputParamExist(GA, "Multipliy Result", "42"), true, "Console Multipliy Output captured validation");
            Assert.AreEqual(General.OutputParamExist(GA, "Sum Result", "13"), true, "Console Sum Output captured validation");
            Assert.AreEqual(General.OutputParamExist(GA, "Total Passed Test Methods", "2"), true, "TestNg Report XML Statistics Parsing validation");
            Assert.AreEqual(General.OutputParamExist(GA, "CalculatorTests- Suite Start Time"), true, "TestNg Report XML Suite details Parsing validation");
            Assert.AreEqual(General.OutputParamExist(GA, @"test1\testMoltiple-Test Status", "PASS"), true, "TestNg Report XML Test 1 Status Parsing validation");
            Assert.AreEqual(General.OutputParamExist(GA, @"test1\testSum-Test Status", "PASS"), true, "TestNg Report XML Test 2 Status Parsing validation");
        }