Esempio n. 1
0
        static void ProcessSeleniumData()
        {
            LogMessage($"loading selenium files from: {DATA_FOLDER}");

            string[] filePaths = Directory.GetFiles(DATA_FOLDER);
            //filePaths = filePaths.Take(100).ToArray();
            var unprocessedFilenames = _collectorRepository.GetUnprocessedFilenames(filePaths);

            LogMessage($"unprocessed files count: {unprocessedFilenames.Count()}");
            Parallel.For(0, unprocessedFilenames.Length,
                         index =>
            {
                var fileName = unprocessedFilenames[index];
                ProcessFile(fileName, index, DATA_FOLDER);
            });

            if (unprocessedFilenames.Length == 0)
            {
                return;
            }

            LogMessage($"processing data");
            _collectorRepository.ProcessData();

            LogMessage("generating selenium test pages");
            WebReportGenerator.GenerateSeleniumTestListHtml(_collectorRepository.GetTestStatsList());
            LogMessage("generating selenium runs page");
            WebReportGenerator.GenerateSeleniumRunsHtml(_collectorRepository.GetLastTestRuns(TestRunType.Selenium2));
        }
Esempio n. 2
0
        private static void ProcessSpecflowData()
        {
            LogMessage($"loading api/specflow files from: {SPC_DATA_FOLDER}");
            string[] fileEntries          = Directory.GetFiles(SPC_DATA_FOLDER);
            var      unprocessedFilenames = _collectorRepository.GetUnprocessedFilenames(fileEntries);

            LogMessage($"unprocessed files count: {unprocessedFilenames.Count()}");
            Parallel.For(0, unprocessedFilenames.Length,
                         index =>
            {
                var fileName = unprocessedFilenames[index];
                ProcessFile(fileName, index, SPC_DATA_FOLDER);
            });

            if (unprocessedFilenames.Length == 0)
            {
                return;
            }

            var testRuns = _collectorRepository.GetLastTestRuns(TestRunType.API)
                           .OrderByDescending(x => x.TestRunMetaData.LastRun)
                           .ToList();

            LogMessage($"api test runs count {testRuns.Count}");
            WebReportGenerator.GenerateApiRunsHtml(testRuns);

            testRuns = _collectorRepository.GetLastTestRuns(TestRunType.Specflow)
                       .OrderByDescending(x => x.TestRunMetaData.LastRun)
                       .ToList();
            LogMessage($"specflow test runs count {testRuns.Count}");
            WebReportGenerator.GenerateSpecflowRunsHtml(testRuns);
        }
Esempio n. 3
0
        private void ReportBtnClicked(object sender, RoutedEventArgs e)
        {
            HTMLReportsConfiguration currentConf = WorkSpace.Instance.Solution.HTMLReportsConfigurationSetList.Where(x => (x.IsSelected == true)).FirstOrDefault();

            if (grdExecutionsHistory.CurrentItem == null)
            {
                Reporter.ToUser(eUserMsgKey.NoItemWasSelected);
                return;
            }
            if (((RunSetReport)grdExecutionsHistory.CurrentItem).DataRepMethod == ExecutionLoggerConfiguration.DataRepositoryMethod.LiteDB)
            {
                var selectedGuid = ((RunSetReport)grdExecutionsHistory.CurrentItem).GUID;
                WebReportGenerator webReporterRunner = new WebReportGenerator();
                webReporterRunner.RunNewHtmlReport(string.Empty, selectedGuid);
            }
            else
            {
                string runSetFolder = executionLoggerHelper.GetLoggerDirectory(((RunSetReport)grdExecutionsHistory.CurrentItem).LogFolder);

                string reportsResultFolder = Ginger.Reports.GingerExecutionReport.ExtensionMethods.CreateGingerExecutionReport(new ReportInfo(runSetFolder), false, null, null, false, currentConf.HTMLReportConfigurationMaximalFolderSize);

                if (reportsResultFolder == string.Empty)
                {
                    Reporter.ToUser(eUserMsgKey.NoItemWasSelected);
                    return;
                }
                else
                {
                    Process.Start(reportsResultFolder);
                    Process.Start(reportsResultFolder + "\\" + "GingerExecutionReport.html");
                }
            }
        }
Esempio n. 4
0
        public void TestNewWebReport()
        {
            //a selected guid can be send
            string guidStr = "";
            // a selected browser from unix can be run ,with his path
            string             browserPath       = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"; // Will not work on Linux
            WebReportGenerator webReporterRunner = new WebReportGenerator(browserPath);

            Assert.IsTrue(webReporterRunner.RunNewHtmlReport(null, null, false).RunnersColl.Count > 0);
        }
Esempio n. 5
0
        public void CopyWebRep()
        {
            //Arrange
            WebReportGenerator webReportGenerator = new WebReportGenerator();
            // webReportGenerator.  - check method of WebReportGenerator - no need to run run set, just use LiteDB samples or json data file

            //Act


            //Assert
        }
Esempio n. 6
0
        private void GenerateBFReport(BusinessFlow bf)
        {
            try
            {
                LiteDbManager dbManager = new LiteDbManager(WorkSpace.Instance.SolutionRepository.ConvertSolutionRelativePath(WorkSpace.Instance.Solution.LoggerConfigurations.CalculatedLoggerFolder));
                var           result    = dbManager.GetRunSetLiteData();

                List <LiteDbRunSet> filterData = dbManager.FilterCollection(result, Query.All());

                LiteDbRunSet runSetLast = filterData.Last();
                //runSetLast._id = new ObjectId();

                LiteDbRunner runnerFilter = runSetLast.RunnersColl.Find(r => r.GUID.ToString() == mRunner.Guid.ToString());
                //runnerFilter._id = new ObjectId();
                //runSetLast.RunnersColl = new List<LiteDbRunner>() { runnerFilter };

                LiteDbBusinessFlow bfFilter = runnerFilter.BusinessFlowsColl.Find(b => b.GUID.ToString() == bf.Guid.ToString() && b.StartTimeStamp.ToString() == bf.StartTimeStamp.ToLocalTime().ToString());
                if (bfFilter == null)
                {
                    Reporter.ToUser(eUserMsgKey.BFNotExistInDB);
                    return;
                }
                //runnerFilter.RunStatus = bfFilter.RunStatus;
                //runSetLast.RunStatus = runnerFilter.RunStatus;
                //runnerFilter.BusinessFlowsColl = new List<LiteDbBusinessFlow>() { bfFilter };

                //dbManager.WriteToLiteDb(dbManager.NameInDb<LiteDbRunner>(), new List<LiteDbReportBase>() { runnerFilter });
                //dbManager.WriteToLiteDb(dbManager.NameInDb<LiteDbRunSet>(), new List<LiteDbReportBase>() { runSetLast });


                WebReportGenerator webReporterRunner = new WebReportGenerator();
                webReporterRunner.RunNewHtmlReport(string.Empty, runSetLast._id.ToString(), new WebReportFilter()
                {
                    Guid = bfFilter.GUID.ToString()
                });

                //var newRSData = dbManager.GetRunSetLiteData();
                //newRSData.Delete(runSetLast._id);
                //var newRunnerData = dbManager.GetRunnerLiteData();
                //newRunnerData.Delete(runnerFilter._id);
            }
            catch (Exception ex)
            {
            }
        }
Esempio n. 7
0
        private void ProduceLiteDBReportFolder(HTMLReportsConfiguration currentConf)
        {
            string             reportsResultFolder;
            WebReportGenerator webReporterRunner = new WebReportGenerator();
            string             reportName        = WorkSpace.Instance.RunsetExecutor.RunSetConfig.Name;

            if (isHTMLReportFolderNameUsed && !String.IsNullOrEmpty(HTMLReportFolderName))
            {
                reportsResultFolder = Path.Combine(HTMLReportFolderName, "Reports", "Ginger-Web-Client");
            }
            else
            {
                reportsResultFolder = Path.Combine(Ginger.Reports.GingerExecutionReport.ExtensionMethods.GetReportDirectory(currentConf.HTMLReportsFolder), "Reports", "Ginger-Web-Client");
            }
            if (!String.IsNullOrEmpty(reportsResultFolder))
            {
                webReporterRunner.RunNewHtmlReport(null, null, true);
            }
            string clientAppFolderPath = Path.Combine(WorkSpace.Instance.LocalUserApplicationDataFolderPath, "Reports", "Ginger-Web-Client");

            if (isHTMLReportPermanentFolderNameUsed)
            {
                if (!Directory.Exists(reportsResultFolder))
                {
                    IoHandler.Instance.CopyFolderRec(clientAppFolderPath, reportsResultFolder, true);
                }
                else
                {
                    webReporterRunner.DeleteFoldersData(Path.Combine(reportsResultFolder, "assets", "Execution_Data"));
                    webReporterRunner.DeleteFoldersData(Path.Combine(reportsResultFolder, "assets", "screenshots"));
                    IoHandler.Instance.CopyFolderRec(Path.Combine(clientAppFolderPath, "assets", "Execution_Data"), Path.Combine(reportsResultFolder, "assets", "Execution_Data"), true);
                    IoHandler.Instance.CopyFolderRec(Path.Combine(clientAppFolderPath, "assets", "screenshots"), Path.Combine(reportsResultFolder, "assets", "screenshots"), true);
                }
            }
            else
            {
                IoHandler.Instance.CopyFolderRec(clientAppFolderPath, $"{reportsResultFolder}_{reportName}_{DateTime.UtcNow.ToString("yyyymmddhhmmss")}", true);
            }
        }
Esempio n. 8
0
        private void ProduceLiteDBReportFolder(HTMLReportsConfiguration currentConf)
        {
            string             reportsResultFolder;
            WebReportGenerator webReporterRunner = new WebReportGenerator();
            string             reportName        = WorkSpace.Instance.RunsetExecutor.RunSetConfig.Name;

            if (isHTMLReportFolderNameUsed && !String.IsNullOrEmpty(HTMLReportFolderName))
            {
                reportsResultFolder = Path.Combine(HTMLReportFolderName, "Reports");
            }
            else
            {
                reportsResultFolder = Path.Combine(Ginger.Reports.GingerExecutionReport.ExtensionMethods.GetReportDirectory(currentConf.HTMLReportsFolder), "Reports");
            }
            if (isHTMLReportPermanentFolderNameUsed)
            {
                webReporterRunner.RunNewHtmlReport(Path.Combine(reportsResultFolder, "Ginger-Web-Client"), null, null, false);
            }
            else
            {
                webReporterRunner.RunNewHtmlReport(Path.Combine(reportsResultFolder, $"{reportName}_{DateTime.UtcNow.ToString("yyyymmddhhmmssfff")}"), null, null, false);
            }
        }
Esempio n. 9
0
        private static void PrintApiTestTimes()
        {
            TestRunViewModel model = _collectorRepository.GetTestRun(TestRunType.API, FlytApplication.BVV, 11563);

            WebReportGenerator.GenerateApiRunsStatsHtml(model);
        }