示例#1
0
        public IConfiguration AddBrowser(IosDeviceInfo deviceInfo)
        {
            RenderBrowserInfo browserInfo = new RenderBrowserInfo(deviceInfo);

            browsersInfo_.Add(browserInfo);
            return(this);
        }
示例#2
0
        public IConfiguration AddBrowser(DesktopBrowserInfo desktopBrowserInfo)
        {
            RenderBrowserInfo browserInfo = new RenderBrowserInfo(desktopBrowserInfo);

            browsersInfo_.Add(browserInfo);
            return(this);
        }
示例#3
0
        public IConfiguration AddBrowser(ChromeEmulationInfo emulationInfo)
        {
            RenderBrowserInfo browserInfo = new RenderBrowserInfo(emulationInfo);

            browsersInfo_.Add(browserInfo);
            return(this);
        }
示例#4
0
        public void TestPrepareDataForRG()
        {
            Logger logger = InitLogging(out string path);

            FileDebugResourceWriter debugResourceWriter = new FileDebugResourceWriter(path);

            VisualGridEyes eyes = new VisualGridEyes(new ConfigurationProviderForTesting());

            eyes.SetLogHandler(logger.GetILogHandler());
            IDictionary <Uri, ResourceFuture> cache = new ConcurrentDictionary <Uri, ResourceFuture>();

            RenderBrowserInfo     renderBrowserInfo = new RenderBrowserInfo(400, 300, BrowserType.CHROME, "linux");
            List <VisualGridTask> taskList          = new List <VisualGridTask>()
            {
                new VisualGridTask(TaskType.Check, logger, new RunningTest(renderBrowserInfo, logger))
            };
            RenderingInfo renderingInfo = new RenderingInfo()
            {
                AccessToken = "TestToken", ResultsUrl = new Uri("localhost:12345"), ServiceUrl = new Uri("localhost:54321")
            };
            RenderingTask renderingTask = new RenderingTask(logger, new CheckSettings(), cache, taskList, renderingInfo, debugResourceWriter);

            IWebDriver webDriver = SeleniumUtils.CreateChromeDriver();

            webDriver.Url = "http://applitools.github.io/demo/TestPages/FramesTestPage/";
            eyes.InitDriver(webDriver);
            try
            {
                string          scriptResult   = eyes.GetDomCaptureScriptResult_();
                FrameData       frameData      = JsonConvert.DeserializeObject <FrameData>(scriptResult);
                RenderRequest[] renderRequests = renderingTask.PrepareDataForRG_(frameData);
                webDriver.Close();
            }
            finally
            {
                webDriver.Quit();
            }
        }
        //[TestCaseSource(nameof(TestArgs))]
        public void Test(string server1, string server2,
                         string key1, string key2,
                         bool isDisabled1,
                         bool?isDisabled2,
                         string expectedServer,
                         string expectedKey,
                         bool expectedDisabled)
        {
            VisualGridRunner renderingManager = CreateRenderingManager(server1, key1, isDisabled1);

            EyesVG eyes = new EyesVG(new ConfigurationProviderForTesting(), renderingManager);

            eyes.ServerUrl  = server2;
            eyes.ApiKey     = key2;
            eyes.IsDisabled = isDisabled2 ?? eyes.IsDisabled;
            DesktopBrowserInfo desktopBrowserInfo = new DesktopBrowserInfo(100, 100, BrowserType.FIREFOX, null);
            RenderBrowserInfo  browserInfo        = new RenderBrowserInfo(desktopBrowserInfo);
            IEyesConnector     eyesConnector      = eyes.CreateEyesConnector_(browserInfo, eyes.ApiKey);

            Assert.AreEqual(expectedServer, eyesConnector.ServerUrl);
            Assert.AreEqual(expectedKey, eyesConnector.ApiKey);
            Assert.AreEqual(expectedDisabled, eyesConnector.IsDisabled);
        }
示例#6
0
        public void TestIosDeviceReportedResolutionOnFailure()
        {
            ILogHandler logHandler = TestUtils.InitLogHandler();
            EyesRunner  runner     = new VisualGridRunner(10, logHandler);
            Eyes        eyes       = new Eyes(runner);

            Configuration config = eyes.GetConfiguration();

            config.AddBrowser(new DesktopBrowserInfo(new RectangleSize(700, 460), BrowserType.CHROME));
            config.AddDeviceEmulation(DeviceName.Galaxy_S3);
            config.AddBrowser(new IosDeviceInfo(IosDeviceName.iPhone_11_Pro));
            config.AddBrowser(new IosDeviceInfo(IosDeviceName.iPhone_XR));
            config.SetBatch(TestDataProvider.BatchInfo);
            config.SetAppName("Visual Grid DotNet Tests");
            config.SetTestName("UFG Mobile Device No Result");
            eyes.SetConfiguration(config);

            IWebDriver driver = SeleniumUtils.CreateChromeDriver();

            driver.Url = "https://demo.applitools.com";
            try
            {
                eyes.Open(driver);
                eyes.Check(Target.Window());
                eyes.CloseAsync();
            }
            finally
            {
                driver.Quit();
                eyes.AbortAsync();
            }

            TestResultsSummary allTestResults = runner.GetAllTestResults(false);

            Assert.AreEqual(4, allTestResults.GetAllResults().Length);

            // Set results in array
            TestResults[] testResults = new TestResults[4];
            foreach (TestResultContainer resultsContainer in allTestResults)
            {
                RenderBrowserInfo browserInfo = resultsContainer.BrowserInfo;
                TestResults       results     = resultsContainer.TestResults;
                if (browserInfo.IosDeviceInfo == null && browserInfo.EmulationInfo == null)
                {
                    testResults[0] = results;
                    continue;
                }

                if (browserInfo.EmulationInfo != null)
                {
                    testResults[1] = results;
                    continue;
                }

                IosDeviceName deviceName = browserInfo.IosDeviceInfo.DeviceName;
                if (deviceName == IosDeviceName.iPhone_11_Pro)
                {
                    testResults[2] = results;
                    continue;
                }

                if (deviceName == IosDeviceName.iPhone_XR)
                {
                    testResults[3] = results;
                    continue;
                }

                Assert.Fail();
            }

            Assert.AreEqual(new RectangleSize(700, 460), testResults[0].HostDisplaySize);
            Assert.AreEqual(new RectangleSize(360, 640), testResults[1].HostDisplaySize);
            Assert.AreEqual(new RectangleSize(375, 812), testResults[2].HostDisplaySize);
            Assert.AreEqual(new RectangleSize(414, 896), testResults[3].HostDisplaySize);
        }
示例#7
0
 public MockEyesConnector(RenderBrowserInfo browserInfo, Applitools.Configuration config)
 {
     browserInfo_           = browserInfo;
     config_                = config;
     ServerConnectorFactory = new MockServerConnectorFactory();
 }
示例#8
0
 public IEyesConnector CreateNewEyesConnector(RenderBrowserInfo browserInfo, Applitools.Configuration config)
 {
     return(new EyesConnector(browserInfo, config));
 }
 public MockEyesConnector(Logger logger, RenderBrowserInfo browserInfo, Applitools.Configuration configuration, Events events)
     : base(logger, browserInfo, configuration, new MockServerConnectorFactory() { Events = events })
 {
 }
 public IUfgConnector CreateNewEyesConnector(Logger logger, RenderBrowserInfo browserInfo, Applitools.Configuration config)
 {
     return(new MockEyesConnector(logger, browserInfo, config, Events));
 }
 public TestResultContainer(TestResults testResults, RenderBrowserInfo browserInfo = null, Exception exception = null)
 {
     TestResults = testResults;
     BrowserInfo = browserInfo;
     Exception   = exception;
 }
示例#12
0
        public void TestIosDeviceReportedResolutionOnFailure()
        {
            EyesRunner runner = new VisualGridRunner(10);
            Eyes       eyes   = new Eyes(runner);

            TestUtils.SetupLogging(eyes);
            eyes.visualGridEyes_.EyesConnectorFactory = new LocalEyesConnectorFactory();

            Configuration config = eyes.GetConfiguration();

            config.AddBrowser(new DesktopBrowserInfo(new RectangleSize(700, 460), BrowserType.CHROME));
            config.AddDeviceEmulation(DeviceName.Galaxy_S3);
            config.AddBrowser(new IosDeviceInfo(IosDeviceName.iPhone_11_Pro));
            config.AddBrowser(new IosDeviceInfo(IosDeviceName.iPhone_XR));
            config.SetBatch(TestDataProvider.BatchInfo);
            config.SetAppName("Visual Grid DotNet Tests");
            config.SetTestName("UFG Mobile Device No Result");
            eyes.SetConfiguration(config);

            IWebDriver driver = SeleniumUtils.CreateChromeDriver();

            driver.Url = "https://demo.applitools.com";
            try
            {
                eyes.Open(driver);
                eyes.Check(Target.Window());
                eyes.CloseAsync();
            }
            finally
            {
                driver.Quit();
                eyes.AbortAsync();
            }

            TestResultsSummary allTestResults = runner.GetAllTestResults(false);

            Assert.AreEqual(4, allTestResults.GetAllResults().Length);

            // Set results in array
            TestResults[] testResults = new TestResults[4];
            foreach (TestResultContainer resultsContainer in allTestResults)
            {
                RenderBrowserInfo browserInfo = resultsContainer.BrowserInfo;
                TestResults       results     = resultsContainer.TestResults;
                if (browserInfo.IosDeviceInfo == null && browserInfo.EmulationInfo == null)
                {
                    testResults[0] = results;
                    continue;
                }

                if (browserInfo.EmulationInfo != null)
                {
                    testResults[1] = results;
                    continue;
                }

                IosDeviceName deviceName = browserInfo.IosDeviceInfo.DeviceName;
                if (deviceName == IosDeviceName.iPhone_11_Pro)
                {
                    testResults[2] = results;
                    continue;
                }

                if (deviceName == IosDeviceName.iPhone_XR)
                {
                    testResults[3] = results;
                    continue;
                }

                Assert.Fail();
            }

            SessionResults chromeSessionResults         = TestUtils.GetSessionResults(eyes.ApiKey, testResults[0]);
            string         actualUserAgent              = chromeSessionResults.StartInfo.Environment.Inferred;
            Dictionary <BrowserType, string> userAgents = eyes.visualGridEyes_.eyesConnector_.GetUserAgents();

            Assert.AreEqual("useragent: " + userAgents[BrowserType.CHROME], actualUserAgent);

            Assert.AreEqual(new RectangleSize(700, 460), testResults[0].HostDisplaySize);
            Assert.AreEqual(new RectangleSize(360, 640), testResults[1].HostDisplaySize);
            Assert.AreEqual(new RectangleSize(375, 812), testResults[2].HostDisplaySize);
            Assert.AreEqual(new RectangleSize(414, 896), testResults[3].HostDisplaySize);
        }
示例#13
0
 public LocalEyesConnector(RenderBrowserInfo browserInfo, Applitools.Configuration configuration)
     : base(browserInfo, configuration)
 {
     ServerConnector.ServerUrl = new Uri(ServerUrl);
     ServerConnector.ApiKey    = ApiKey;
 }
示例#14
0
        public IEyesConnector CreateNewEyesConnector(RenderBrowserInfo browserInfo, Applitools.Configuration config)
        {
            IEyesConnector eyesConnector = new LocalEyesConnector(browserInfo, config);

            return(eyesConnector);
        }
示例#15
0
 protected RunningTest(RenderBrowserInfo browserInfo, Logger logger, IServerConnector serverConnector)
     : base(logger, serverConnector)
 {
     BrowserInfo = browserInfo;
 }
 public EyesConnector(RenderBrowserInfo browserInfo, Applitools.Configuration configuration)
 {
     browserInfo_ = browserInfo;
     config_      = configuration;
 }
 public MockEyesConnector(Logger logger, RenderBrowserInfo browserInfo, Applitools.Configuration configuration)
     : base(logger, browserInfo, configuration, new MockServerConnectorFactory())
 {
     Logger.Verbose("created");
 }