示例#1
0
        private IPositionProvider CreatePositionProvider(Logger logger, StitchModes stitchMode,
                                                         IEyesJsExecutor executor, IWebElement scrollRootElement, string positionProviderId, UserAgent userAgent = null)
        {
            ArgumentGuard.NotNull(logger, nameof(logger));
            ArgumentGuard.NotNull(executor, nameof(executor));

            logger.Log(TraceLevel.Debug, Stage.General,
                       new { message = "position provider does not exist in dictionary", positionProviderId });

            switch (stitchMode)
            {
            case StitchModes.CSS: return(new CssTranslatePositionProvider(logger, executor, scrollRootElement));

            case StitchModes.Scroll:
                if (userAgent != null && userAgent.Browser.Equals(BrowserNames.Edge))
                {
                    return(new EdgeBrowserScrollPositionProvider(logger, executor, scrollRootElement));
                }
                //else
                return(new ScrollPositionProvider(logger, executor, scrollRootElement));

            default:
                return(null);
            }
        }
示例#2
0
 public PageState(Logger logger, EyesWebDriver driver, StitchModes stitchMode, UserAgent userAgent)
 {
     logger_     = logger;
     driver_     = driver;
     stitchMode_ = stitchMode;
     userAgent_  = userAgent;
 }
        public void Trello_1668_Humana(StitchModes stitchMode)
        {
            var driver = new ChromeDriver();
            var eyes   = new Eyes();

            TestUtils.SetupLogging(eyes, nameof(Trello_1668_Humana) + $" ({stitchMode})");
            driver.Url = "file:///C:/Users/USER/Websites/Humana/PaymentDetails/humana_payment_details.html";
            //driver.Url = "https://billing.humana.com/PayNow";
            try
            {
                eyes.StitchMode = stitchMode;
                eyes.Batch      = new BatchInfo();
                eyes.Open(driver, "humana", $"pay now ({stitchMode})", new Size(1300, 600));
                driver.FindElement(By.Id("accountNumber")).SendKeys("41221821");
                eyes.AddProperty("Stitch Mode", eyes.StitchMode.ToString());
                eyes.Check(Target.Window().Fully()
                           //.ScrollRootElement(By.TagName("body"))
                           );

                eyes.Close();
            }
            finally
            {
                driver.Quit();
                eyes.AbortIfNotClosed();
            }
        }
 public TestSetup(string testSuitName, DriverOptions options, StitchModes stitchMode = StitchModes.CSS)
 {
     testSuitName_  = testSuitName + testNameSuffix_;
     options_       = options;
     useVisualGrid_ = false;
     stitchMode_    = stitchMode;
     suiteArgs_.Add("mode", stitchMode.ToString());
 }
示例#5
0
        internal IPositionProvider GetPositionProvider(Logger logger, StitchModes stitchMode, IEyesJsExecutor executor, IWebElement scrollRootElement, UserAgent userAgent = null)
        {
            string id = scrollRootElement.GetHashCode() + "_" + stitchMode;

            logger.Log(TraceLevel.Debug, Stage.General, new { PositionProviderId = id });
            return(positionProviders_.GetOrAdd(id,
                                               (e) => CreatePositionProvider(logger, stitchMode, executor, scrollRootElement, id, userAgent)));
        }
 public TestSetup(string testSuitName, DriverOptions options, bool useVisualGrid = false)
 {
     testSuitName_  = testSuitName + testNameSuffix_;
     options_       = options;
     useVisualGrid_ = useVisualGrid;
     stitchMode_    = StitchModes.CSS;
     suiteArgs_.Add("mode", "VisualGrid");
 }
        public static IPositionProvider GetPositionProvider(Logger logger, StitchModes stitchMode, IEyesJsExecutor executor)
        {
            switch (stitchMode)
            {
            case StitchModes.Scroll: return(new ScrollPositionProvider(logger, executor));

            case StitchModes.CSS: return(new CssTranslatePositionProvider(logger, executor));

            default:
                return(null);
            }
        }
        public static IPositionProvider CreatePositionProvider(Logger logger, StitchModes stitchMode, IEyesJsExecutor executor, IWebElement scrollRootElement, UserAgent userAgent = null)
        {
            ArgumentGuard.NotNull(logger, nameof(logger));
            ArgumentGuard.NotNull(executor, nameof(executor));

            switch (stitchMode)
            {
            case StitchModes.CSS: return(new CssTranslatePositionProvider(logger, executor, scrollRootElement));

            case StitchModes.Scroll:
                if (userAgent != null && userAgent.Browser.Equals(BrowserNames.Edge))
                {
                    return(new EdgeBrowserScrollPositionProvider(logger, executor, scrollRootElement));
                }
                //else
                return(new ScrollPositionProvider(logger, executor, scrollRootElement));

            default:
                return(null);
            }
        }
        public void TestIE11(StitchModes stitchMode)
        {
            Eyes eyes = new Eyes();

            TestUtils.SetupLogging(eyes);

            InternetExplorerOptions options = new InternetExplorerOptions();

            options.BrowserVersion = "11.0";
            options.AddAdditionalCapability("resolution", "1024x768");

            Dictionary <string, object> browserstackOptions = new Dictionary <string, object>();

            browserstackOptions.Add("os", "Windows");
            browserstackOptions.Add("osVersion", "10");
            browserstackOptions.Add("userName", TestDataProvider.BROWSERSTACK_USERNAME);
            browserstackOptions.Add("accessKey", TestDataProvider.BROWSERSTACK_ACCESS_KEY);

            options.AddAdditionalCapability("bstack:options", browserstackOptions, true);


            IWebDriver driver = null;

            try
            {
                driver          = new RemoteWebDriver(new Uri(TestDataProvider.BROWSERSTACK_SELENIUM_URL), options);
                driver.Url      = "https://applitools.github.io/demo/TestPages/FramesTestPage/";
                eyes.StitchMode = stitchMode;
                eyes.Batch      = TestDataProvider.BatchInfo;
                eyes.Open(driver, "TestBrowserStack", "TesIE11_" + stitchMode.ToString().ToUpper(), new Size(800, 600));
                eyes.Check("viewport", Target.Window().Fully(false).SendDom(false));
                eyes.Check("full page", Target.Window().Fully(true).SendDom(false));
                eyes.Close();
            }
            finally
            {
                driver?.Quit();
                eyes.Abort();
            }
        }
示例#10
0
 public TestScrollRootElementInCenter(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - Scroll Root Element", options, stitchMode)
 {
     testedPageUrl = "https://applitools.github.io/demo/TestPages/PageWithScrollableArea/index.html";
 }
示例#11
0
 public TestSimpleCases(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - Simple Test Cases", options, stitchMode)
 {
     testedPageSize = new Size(1024, 600);
     testedPageUrl  = "https://applitools.github.io/demo/TestPages/SimpleTestPage/";
 }
 public static IPositionProvider TryGetPositionProviderForElement(IWebElement scrollRootElement, StitchModes stitchMode)
 {
     positionProviders_.TryGetValue(scrollRootElement + "_" + stitchMode, out IPositionProvider positionProvider);
     return(positionProvider);
 }
示例#13
0
        public IPositionProvider TryGetPositionProviderForElement(IWebElement scrollRootElement, StitchModes stitchMode,
                                                                  RemoteWebDriver driver, Logger logger)
        {
            string id = scrollRootElement.GetHashCode() + "_" + stitchMode + "_" + driver.SessionId;

            logger.Log(TraceLevel.Debug, Stage.General, new { PositionProviderId = id });
            positionProviders_.TryGetValue(id, out IPositionProvider positionProvider);
            return(positionProvider);
        }
 public static IPositionProvider GetPositionProvider(Logger logger, StitchModes stitchMode, IEyesJsExecutor executor, IWebElement scrollRootElement, UserAgent userAgent = null)
 {
     return(positionProviders_.GetOrAdd(scrollRootElement + "_" + stitchMode,
                                        (e) => CreatePositionProvider(logger, stitchMode, executor, scrollRootElement, userAgent)));
 }
示例#15
0
 public TestFluentApi(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - Fluent API", options, stitchMode)
 {
 }
示例#16
0
 public TestPageWithHeader(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - Page With Header", options, stitchMode)
 {
     testedPageUrl = "https://applitools.github.io/demo/TestPages/PageWithHeader/index.html";
 }
示例#17
0
 public IConfiguration SetStitchMode(StitchModes value)
 {
     StitchMode = value;
     return(this);
 }
 public TestScrollRootElement(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - Scroll Root Element", options, stitchMode)
 {
     testedPageUrl = "https://applitools.github.io/demo/TestPages/SimpleTestPage/scrollablebody.html";
 }
示例#19
0
 public TestBigPages(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - Test Big Pages", options, stitchMode)
 {
     testedPageUrl = "data:,";
 }
 public TestAcme(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - ACME", options, stitchMode)
 {
     testedPageSize = new Size(1024, 768);
 }
 public TestClassicApi(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - Classic API", options, stitchMode)
 {
 }
示例#22
0
 public TestDuplicates(DriverOptions options, StitchModes stitchMode)
     : base("Eyes Selenium SDK - Duplicates", options, stitchMode)
 {
     testedPageUrl = "https://applitools.github.io/demo/TestPages/VisualGridTestPage/duplicates.html";
 }