예제 #1
0
        private CompareResult RunTest(ArgsProcessor argProc, CompareResult overallResult, ReportSet reportSet, TestDescription test)
        {
            _driver.SetWindowSize(test.WindowSize);

            _driver.OpenUrl(test.Url, test.DivSelector, test.TitleContains);

            var dirManager = new DirectoryManager(argProc);

            if (argProc.IsOptionOn(ArgsProcessor.Options.Run))
            {
                var reportThisTest = CompareActualPageVersusExpected(argProc, dirManager, test, _driver);
                var resultThisTest = reportThisTest.Result.Result;
                if (resultThisTest != CompareResult.Similar)
                {
                    overallResult = resultThisTest;
                }
                reportSet.Reports.Add(reportThisTest);
            }
            else if (argProc.IsOptionOn(ArgsProcessor.Options.Save))
            {
                SaveExpectedPage(dirManager, test, _driver);
            }
            else
            {
                throw new InvalidOperationException("Not a supported set of options");
            }
            return(overallResult);
        }
예제 #2
0
        private void AppendResultToCombinedReport(ReportSet reportSet, ArgsProcessor argProc)
        {
            var dirManager      = new DirectoryManager(argProc);
            var combinedPersist = new CombinedReportPersistance(dirManager);

            combinedPersist.AddReportSet(reportSet);

            var htmlCreator = new CombinedHtmlReportCreator();

            htmlCreator.CreateReport(argProc);
        }
예제 #3
0
        private Report CompareActualPageVersusExpected(ArgsProcessor argProc, DirectoryManager dirManager,
                                                       TestDescription test, BrowserDriver driver)
        {
            string actualFilePath = dirManager.GetActualImageFilePath(test);

            driver.SaveDivImageToPath(test.DivSelector, actualFilePath, test.CropAdjustWidth, test.CropAdjustHeight, test.SleepTimespan);

            var comparer      = new CustomImageComparer(argProc);
            var compareResult = comparer.CompareImages(actualFilePath, dirManager.GetExpectedImageFilePath(test), test);

            var report = CreateReport(test, compareResult);

            return(report);
        }
        internal void Convert(List <TestDescription> tests)
        {
            var dirManager = new DirectoryManager(_argProc);

            foreach (var test in tests)
            {
                Outputter.Output("Accepting latest changes for test: " + test.Name);

                var actualPath   = dirManager.GetActualImageFilePath(test);
                var expectedPath = dirManager.GetExpectedImageFilePath(test);
                File.Copy(actualPath, expectedPath, true);
            }
            Outputter.Output("Accepted latest changes for " + tests.Count + " tests.");
        }
예제 #5
0
 private void SaveExpectedPage(DirectoryManager dirManager, TestDescription test, BrowserDriver driver)
 {
     Outputter.Output("Saving expected page for test: " + test.Name);
     driver.SaveDivImageToPath(test.DivSelector, dirManager.GetExpectedImageFilePath(test), test.CropAdjustWidth, test.CropAdjustHeight, test.SleepTimespan);
 }