Esempio n. 1
0
        public void TestFullAgentId_VG_Match_Selenium()
        {
            string           vgAgentId;
            string           seleniumAgentId;
            VisualGridRunner vgRunner = new VisualGridRunner(10, TestUtils.InitLogHandler());

            try
            {
                Eyes eyes = new Eyes(vgRunner);
                vgAgentId = eyes.FullAgentId;
            }
            finally
            {
                vgRunner.StopServiceRunner();
            }

            ClassicRunner cRunner = new ClassicRunner();
            {
                Eyes eyes = new Eyes(cRunner);
                seleniumAgentId = eyes.FullAgentId;
            }
            string vgVersion  = vgAgentId.Split('/')[1];
            string selVersion = seleniumAgentId.Split('/')[1];

            Assert.AreEqual(vgVersion, selVersion);
        }
Esempio n. 2
0
        public void Test_VG_RCA_Fluent()
        {
            ILogHandler      logHandler = TestUtils.InitLogHandler();
            VisualGridRunner runner     = new VisualGridRunner(10, logHandler);
            Eyes             eyes       = new Eyes(runner);

            eyes.Batch = batch_;
            IWebDriver driver = SeleniumUtils.CreateChromeDriver();

            try
            {
                driver.Url = "https://applitools.github.io/demo/TestPages/VisualGridTestPage";

                driver.SwitchTo().Frame("iframe");
                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
                wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector("#p2")));
                driver.SwitchTo().DefaultContent();

                eyes.Open(driver, "Test Visual Grid", "Test RCA Fluent");
                eyes.SendDom = false;
                eyes.Check(Target.Window().SendDom(true));
                eyes.Close();
                runner.GetAllTestResults();
            }
            finally
            {
                driver.Quit();
                eyes.AbortIfNotClosed();
                runner.StopServiceRunner();
            }
        }
Esempio n. 3
0
        public void TestTimeout2()
        {
            EyesSeleniumUtils.CAPTURE_TIMEOUT = TimeSpan.FromTicks(1);
            IWebDriver       driver     = SeleniumUtils.CreateChromeDriver();
            ILogHandler      logHandler = TestUtils.InitLogHandler();
            VisualGridRunner runner     = new VisualGridRunner(10, logHandler);

            try
            {
                Eyes eyes = new Eyes(runner);
                driver.Url = "https://applitools.com/helloworld";
                eyes.Batch = TestDataProvider.BatchInfo;

                Configuration configuration = eyes.GetConfiguration();
                configuration.SetAppName("Test Timeouts").SetTestName("Test Timeouts").SetBatch(TestDataProvider.BatchInfo);
                configuration.AddBrowser(800, 600, BrowserType.CHROME);
                configuration.AddDeviceEmulation(DeviceName.Laptop_with_HiDPI_screen);
                eyes.SetConfiguration(configuration);
                eyes.Open(driver);
                Assert.That(() =>
                {
                    eyes.Check(Target.Window().WithName("Test"));
                    eyes.Close();
                    runner.GetAllTestResults();
                }, Throws.Exception.With.InstanceOf <EyesException>().With.InnerException.With.InstanceOf <EyesException>().With.Property("Message").EqualTo("DOM capture timeout."));
            }
            finally
            {
                driver.Quit();
                runner.StopServiceRunner();
            }
        }
        public void Test()
        {
            IWebDriver driver = SeleniumUtils.CreateChromeDriver();

            driver.Url = "https://applitools.com/helloworld";

            BatchInfo        batch      = new BatchInfo("Visual Grid - Test bad webhook");
            ILogHandler      logHandler = TestUtils.InitLogHandler(nameof(TestVGWithBadWebhook));
            VisualGridRunner runner     = new VisualGridRunner(10, logHandler);
            Eyes             eyes       = new Eyes(runner);

            Configuration config = new Configuration();

            config.SetBatch(batch);
            config.SetAppName("Visual Grid Tests");
            config.SetTestName("Bad Webhook");
            config.SetViewportSize(new Applitools.Utils.Geometry.RectangleSize(800, 600));

            eyes.SetConfiguration(config);
            eyes.Open(driver);
            try
            {
                eyes.Check(Target.Window().Fully().BeforeRenderScreenshotHook("gibberish uncompilable java script"));
                driver.Quit();
                Assert.That(() =>
                {
                    eyes.Close();
                    runner.GetAllTestResults();
                }, Throws.Exception.With.InstanceOf <EyesException>().With.InnerException.With.Property("Message").StartsWith("Render Failed for DesktopBrowserInfo {ViewportSize={Width=800, Height=600}, BrowserType=CHROME} "));
            }
            finally
            {
                runner.StopServiceRunner();
            }
        }
        public void TestCreateDomSnapshotCollectsCookiesWhenDisabledUsingFluentApi()
        {
            IWebDriver driver = SeleniumUtils.CreateChromeDriver();

            driver.Url = "http://applitools.github.io/demo/TestPages/CookiesTestPage/";
            Eyes             eyes   = Setup(driver);
            VisualGridRunner runner = (VisualGridRunner)eyes.runner_;

            try
            {
                Configuration config = eyes.GetConfiguration();
                config
                .SetAppName("test app").SetTestName("test name")
                .SetBatch(TestDataProvider.BatchInfo);
                eyes.SetConfiguration(config);
                EyesWebDriver eyesDriver            = (EyesWebDriver)eyes.Open(driver);
                EyesWebDriverTargetLocator switchTo = (EyesWebDriverTargetLocator)eyesDriver.SwitchTo();
                UserAgent userAgent    = UserAgent.ParseUserAgentString(eyesDriver.GetUserAgent());
                FrameData scriptResult = VisualGridEyes.CaptureDomSnapshot_(
                    switchTo, userAgent, config, Target.Window().UseCookies(false), runner, eyesDriver, runner.Logger);

                Assert.IsNull(scriptResult.Cookies);
                Assert.IsNull(scriptResult.Frames[0].Cookies);
                Assert.IsNull(scriptResult.Frames[0].Frames[0].Cookies);
            }
            finally
            {
                driver.Quit();
                eyes.AbortIfNotClosed();
                runner.StopServiceRunner();
            }
        }
Esempio n. 6
0
        public void TestFullAgentId_VG()
        {
            VisualGridRunner runner = new VisualGridRunner(10, TestUtils.InitLogHandler());

            try
            {
                Eyes eyes = new Eyes(runner);
                StringAssert.StartsWith("Eyes.Selenium.VisualGrid.DotNet/", eyes.FullAgentId);
            }
            finally
            {
                runner.StopServiceRunner();
            }
        }
Esempio n. 7
0
        public void TestSpecialRendering(string url, string testName)
        {
            string           logsPath   = TestUtils.InitLogPath();
            ILogHandler      logHandler = TestUtils.InitLogHandler(logPath: logsPath);
            VisualGridRunner runner     = new VisualGridRunner(30, logHandler);

            runner.DebugResourceWriter = new FileDebugResourceWriter(logsPath);

            Eyes eyes = new Eyes(runner);

            Configuration sconf = new Configuration();

            sconf.SetTestName(testName);
            sconf.SetAppName("Visual Grid Render Test");
            sconf.SetBatch(TestDataProvider.BatchInfo);

            sconf.AddDeviceEmulation(DeviceName.Galaxy_S5);
            sconf.AddBrowser(1200, 800, BrowserType.CHROME);
            sconf.AddBrowser(1200, 800, BrowserType.FIREFOX);

            // Edge doesn't support Shadow-DOM - returns an empty image.
            //sconf.AddBrowser(1200, 800, BrowserType.EDGE);

            // Internet Explorer doesn't support Shadow-DOM - fails to render and throws an error.
            //sconf.AddBrowser(1200, 800, BrowserType.IE_11);
            //sconf.AddBrowser(1200, 800, BrowserType.IE_10);

            eyes.SetConfiguration(sconf);
            ChromeDriver driver = SeleniumUtils.CreateChromeDriver();

            try
            {
                eyes.Open(driver);
                driver.Url = url;
                Thread.Sleep(500);
                eyes.Check(testName, Target.Window().Fully());
                eyes.Close(false);
                TestResultsSummary allResults = runner.GetAllTestResults(false);
            }
            finally
            {
                driver.Quit();
                eyes.AbortIfNotClosed();
                runner.StopServiceRunner();
            }
        }
Esempio n. 8
0
        public void TestTimeout()
        {
            //RenderingTask.pollTimeout_ = TimeSpan.FromSeconds(100);
            IWebDriver       driver     = SeleniumUtils.CreateChromeDriver();
            ILogHandler      logHandler = TestUtils.InitLogHandler();
            VisualGridRunner runner     = new VisualGridRunner(10, logHandler);

            try
            {
                Eyes eyes = new Eyes(runner);
                driver.Url = "https://applitools.com/helloworld";
                eyes.Batch = TestDataProvider.BatchInfo;
                eyes.Open(driver, "Timeout Test", "Visual Grid Timeout Test", new Size(1200, 800));
                eyes.Check(Target.Window().WithName("Test"));
                eyes.Close();
                runner.GetAllTestResults();
            }
            finally
            {
                driver.Quit();
                runner.StopServiceRunner();
            }
        }
Esempio n. 9
0
        public void TestMapRunningTestsToRequiredBrowserWidth()
        {
            WebDriverProvider       webdriverProvider      = new WebDriverProvider();
            IServerConnectorFactory serverConnectorFactory = new MockServerConnectorFactory(webdriverProvider);
            ILogHandler             logHandler             = TestUtils.InitLogHandler();
            VisualGridRunner        runner = new VisualGridRunner(30, nameof(TestMapRunningTestsToRequiredBrowserWidth),
                                                                  serverConnectorFactory, logHandler);

            Eyes wrappingEyes = new Eyes(runner);

            Configuration configuration = wrappingEyes.GetConfiguration();

            configuration.AddBrowser(new DesktopBrowserInfo(1000, 500, BrowserType.CHROME));
            configuration.AddBrowser(new DesktopBrowserInfo(1000, 700, BrowserType.CHROME));
            configuration.AddBrowser(new DesktopBrowserInfo(700, 500, BrowserType.CHROME));
            wrappingEyes.SetConfiguration(configuration);

            VisualGridEyes eyes = wrappingEyes.visualGridEyes_;

            //doNothing().when(eyes).setViewportSize(ArgumentMatchers.< EyesSeleniumDriver > any());
            //eyes.ServerConnector(new MockServerConnector());

            //RemoteWebDriver driver = mock(RemoteWebDriver.class);
            //when(driver.getSessionId()).thenReturn(mock(SessionId.class));
            ChromeDriver driver = SeleniumUtils.CreateChromeDriver();

            webdriverProvider.SetDriver(driver);
            try
            {
                driver.Url = "data:text/html,<html><body><h1>Hello, world!</h1></body></html>";
                eyes.Open(driver, "app", "test", new Size(800, 800));

                Fluent.SeleniumCheckSettings          seleniumCheckSettings = Target.Window();
                Dictionary <int, List <RunningTest> > map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.IsEmpty(map);

                seleniumCheckSettings = Target.Window().LayoutBreakpointsEnabled(false);
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.IsEmpty(map);

                seleniumCheckSettings = Target.Window().LayoutBreakpointsEnabled(true);
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.AreEquivalent(new int[] { 700, 1000 }, map.Keys);
                Assert.AreEqual(1, map[700].Count);
                Assert.AreEqual(2, map[1000].Count);

                seleniumCheckSettings = Target.Window().LayoutBreakpoints(750, 1200);
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.AreEquivalent(new int[] { 749, 750 }, map.Keys);
                Assert.AreEqual(1, map[749].Count);
                Assert.AreEqual(2, map[750].Count);

                seleniumCheckSettings = Target.Window().LayoutBreakpoints(700);
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.AreEquivalent(new int[] { 700 }, map.Keys);
                Assert.AreEqual(3, map[700].Count);

                wrappingEyes.SetConfiguration(configuration.SetLayoutBreakpointsEnabled(false));
                seleniumCheckSettings = Target.Window();
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.IsEmpty(map);

                wrappingEyes.SetConfiguration(configuration.SetLayoutBreakpointsEnabled(true));
                seleniumCheckSettings = Target.Window();
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.AreEquivalent(new int[] { 700, 1000 }, map.Keys);
                Assert.AreEqual(1, map[700].Count);
                Assert.AreEqual(2, map[1000].Count);

                wrappingEyes.SetConfiguration(configuration.SetLayoutBreakpoints(750, 1200));
                seleniumCheckSettings = Target.Window();
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.AreEquivalent(new int[] { 749, 750 }, map.Keys);
                Assert.AreEqual(1, map[749].Count);
                Assert.AreEqual(2, map[750].Count);

                wrappingEyes.SetConfiguration(configuration.SetLayoutBreakpoints(750, 1200));
                seleniumCheckSettings = Target.Window().LayoutBreakpointsEnabled(true);
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.AreEquivalent(new int[] { 700, 1000 }, map.Keys);
                Assert.AreEqual(1, map[700].Count);
                Assert.AreEqual(2, map[1000].Count);

                wrappingEyes.SetConfiguration(configuration.SetLayoutBreakpoints(750, 1200));
                seleniumCheckSettings = Target.Window().LayoutBreakpoints(700);
                map = eyes.MapRunningTestsToRequiredBrowserWidth_(seleniumCheckSettings);
                CollectionAssert.AreEquivalent(new int[] { 700 }, map.Keys);
                Assert.AreEqual(3, map[700].Count);
            }
            finally
            {
                driver.Quit();
                runner.StopServiceRunner();
            }
        }
        public void TestCreateDomSnapshotCollectsCookiesWhenNotHandlingCorsFrames()
        {
            IWebDriver driver = SeleniumUtils.CreateChromeDriver();

            driver.Url = "http://applitools.github.io/demo/TestPages/CookiesTestPage/";
            Eyes             eyes   = Setup(driver);
            VisualGridRunner runner = (VisualGridRunner)eyes.runner_;

            try
            {
                Configuration config = eyes.GetConfiguration();
                config
                .SetAppName("test app").SetTestName("test name")
                .SetBatch(TestDataProvider.BatchInfo)
                .SetUseCookies(true);
                eyes.SetConfiguration(config);
                EyesWebDriver eyesDriver            = (EyesWebDriver)eyes.Open(driver);
                EyesWebDriverTargetLocator switchTo = (EyesWebDriverTargetLocator)eyesDriver.SwitchTo();
                UserAgent userAgent    = UserAgent.ParseUserAgentString(eyesDriver.GetUserAgent());
                FrameData scriptResult = VisualGridEyes.CaptureDomSnapshot_(
                    switchTo, userAgent, config, Target.Window(), runner, eyesDriver, runner.Logger);

                CollectionAssert.AreEquivalent(new Cookie[] {
                    new Cookie("frame1", "1", "/demo/TestPages/CookiesTestPage", "applitools.github.io")
                    {
                        HttpOnly = false,
                        Secure   = false
                    },
                    new Cookie("index", "1", "/demo/TestPages/CookiesTestPage", "applitools.github.io")
                    {
                        HttpOnly = false,
                        Secure   = false
                    }
                },
                                               scriptResult.Cookies);


                CollectionAssert.AreEquivalent(new Cookie[] {
                    new Cookie("frame1", "1", "/demo/TestPages/CookiesTestPage", "applitools.github.io")
                    {
                        HttpOnly = false,
                        Secure   = false
                    },
                    new Cookie("index", "1", "/demo/TestPages/CookiesTestPage", "applitools.github.io")
                    {
                        HttpOnly = false,
                        Secure   = false
                    }
                },
                                               scriptResult.Frames[0].Cookies);

                CollectionAssert.AreEquivalent(new Cookie[] {
                    new Cookie("frame1", "1", "/demo/TestPages/CookiesTestPage", "applitools.github.io")
                    {
                        HttpOnly = false,
                        Secure   = false
                    },
                    new Cookie("index", "1", "/demo/TestPages/CookiesTestPage", "applitools.github.io")
                    {
                        HttpOnly = false,
                        Secure   = false
                    },
                    new Cookie("frame2", "1", "/demo/TestPages/CookiesTestPage/subdir", "applitools.github.io")
                    {
                        HttpOnly = false,
                        Secure   = false
                    }
                },
                                               scriptResult.Frames[0].Frames[0].Cookies);
            }
            finally
            {
                driver.Quit();
                eyes.AbortIfNotClosed();
                runner.StopServiceRunner();
            }
        }