예제 #1
0
        /// <summary> Compares screenshot of an element </summary>
        /// <param name="driver">Driver</param>
        /// <param name="baselineImageDir">Baseline screenshot directory</param>
        /// <param name="baselineImageName">Baseline screenshot name</param>
        /// <param name="element">Web element</param>
        /// <param name="tolerance"></param>
        public static void CompareElementImage(IWebDriver driver, string baselineImageDir, string baselineImageName, IWebElement element, double tolerance = 0.1)
        {
            var timeStamp = TimeStamp();
            var copiedBaselineImageFileName = timeStamp + "-" + baselineImageName + "-Expected";
            var actualImageFileName         = timeStamp + "-" + baselineImageName + "-Actual";
            var diffImageFileName           = timeStamp + "-" + baselineImageName + "-Diff";

            var baselineImage       = baselineImageDir + baselineImageName + ".png";
            var copiedBaselineImage = ComparisonDir + copiedBaselineImageFileName + ".png";
            var diffImage           = ComparisonDir + diffImageFileName + ".png";

            Directory.CreateDirectory(ComparisonDir);
#if NETFRAMEWORK
            var actualImage = CaptureElementBitmap(driver, ComparisonDir, actualImageFileName, element);
#else
            var actualImage = CaptureElementBitmap(driver, ComparisonDir, actualImageFileName, element);
#endif
            File.Copy(baselineImage, copiedBaselineImage);

            ImageOperations.CompareResult result = ImageOperations.CompareImage(copiedBaselineImage, actualImage, diffImage, tolerance);
            Log.Info("result: " + result);
            if (result != ImageOperations.CompareResult.Match)
            {
                Assert.Fail("Web element image is not the same within tolerance value " + tolerance);
            }
        }
예제 #2
0
파일: ScreenShot.cs 프로젝트: skarzjus/Vaft
        /// <summary> Compares image of entire Web browser window</summary>
        /// <param name="driver">Driver</param>
        /// <param name="baselineImageDir">Baseline image directory</param>
        /// <param name="baselineImageName">Baseline image name</param>
        /// <param name="tolerance">Comparison tolerance</param>
        public static void CompareWindow(IWebDriver driver, string baselineImageDir, string baselineImageName, double tolerance = 0.9)
        {
            var timeStamp = TimeStamp();
            var copiedBaselineImageFileName = timeStamp + "-" + baselineImageName + "-Expected";
            var actualImageFileName         = timeStamp + "-" + baselineImageName + "-Actual";
            var diffImageFileName           = timeStamp + "-" + baselineImageName + "-Diff";

            var baselineImage       = baselineImageDir + baselineImageName + ".png";
            var copiedBaselineImage = ComparisonDir + copiedBaselineImageFileName + ".png";
            var diffImage           = ComparisonDir + diffImageFileName + ".png";

            Directory.CreateDirectory(ComparisonDir);
            var actualImage = SaveScreenShot(driver, ComparisonDir, actualImageFileName);

            File.Copy(baselineImage, copiedBaselineImage);

            ImageOperations.CompareResult result = ImageOperations.CompareImage(copiedBaselineImage, actualImage, diffImage, tolerance);
            Log.Info("result: " + result);
            if (result != ImageOperations.CompareResult.Match)
            {
                Assert.Fail("Window image is not the same within tolerance value " + tolerance);
            }
        }