public void TestMobileOnly() { VisualGridRunner runner = new VisualGridRunner(30); Eyes eyes = new Eyes(runner); eyes.SetLogHandler(TestUtils.InitLogHandler()); Configuration sconf = new Configuration(); sconf.SetTestName("Mobile Render Test"); sconf.SetAppName("Visual Grid Render Test"); sconf.SetBatch(TestDataProvider.BatchInfo); sconf.AddDeviceEmulation(DeviceName.Galaxy_S5); eyes.SetConfiguration(sconf); ChromeDriver driver = SeleniumUtils.CreateChromeDriver(); eyes.Open(driver); driver.Url = "https://applitools.github.io/demo/TestPages/DynamicResolution/mobile.html"; eyes.Check("Test Mobile Only", Target.Window().Fully()); driver.Quit(); eyes.Close(); TestResultsSummary allResults = runner.GetAllTestResults(); }
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(); } }
private void Run() { // Create a new webdriver IWebDriver webDriver = new ChromeDriver(); // Navigate to the url we want to test webDriver.Url = "https://demo.applitools.com"; // ⭐️ Note to see visual bugs, run the test using the above URL for the 1st run. //but then change the above URL to https://demo.applitools.com/index_v2.html (for the 2nd run) // Create a runner with concurrency of 10 VisualGridRunner runner = new VisualGridRunner(10); // Create Eyes object with the runner, meaning it'll be a Visual Grid eyes. Eyes eyes = new Eyes(runner); // Create configuration object Configuration conf = new Configuration(); //conf.SetApiKey("APPLITOOLS_API_KEY"); // Set the Applitools API KEY here or as an environment variable "APPLITOOLS_API_KEY" conf.SetTestName("C# VisualGrid demo") // Set test name .SetAppName("Demo app"); // Set app name // Add browsers with different viewports conf.AddBrowser(800, 600, BrowserType.CHROME); conf.AddBrowser(700, 500, BrowserType.FIREFOX); conf.AddBrowser(1200, 800, BrowserType.IE_10); conf.AddBrowser(1600, 1200, BrowserType.IE_11); conf.AddBrowser(1024, 768, BrowserType.EDGE); // Add iPhone 4 device emulation in Portrait mode conf.AddDeviceEmulation(DeviceName.iPhone_4, ScreenOrientation.Portrait); // Set the configuration object to eyes eyes.SetConfiguration(conf); // Call Open on eyes to initialize a test session eyes.Open(webDriver); // check the login page eyes.Check(Target.Window().Fully().WithName("Login page")); webDriver.FindElement(By.Id("log-in")).Click(); // Check the app page eyes.Check(Target.Window().Fully().WithName("App page")); // Close the browser webDriver.Quit(); eyes.CloseAsync(); //Wait and collect all test results TestResultSummary allTestResults = runner.GetAllTestResults(); System.Console.WriteLine(allTestResults); }
public void TestVanguard() { VisualGridRunner runner = new VisualGridRunner(10); IWebDriver driver = SeleniumUtils.CreateChromeDriver(); Eyes eyes = InitEyes(driver, runner, "https://investor.vanguard.com/home/", 1000, 700, false); Thread.Sleep(2000); try { eyes.Check("Vanguard", Target .Window() .Fully() .Strict() .SendDom(false) .Layout(By.ClassName("vgc-feedbackLink")) ); eyes.CloseAsync(); runner.GetAllTestResults(); } finally { eyes.Abort(); driver.Quit(); } }
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 TestConcurrencyAmount() { VisualGridRunner runner = new VisualGridRunner(); Assert.AreEqual(VisualGridRunner.DEFAULT_CONCURRENCY, runner.testConcurrency_.ActualConcurrency); Assert.AreEqual(VisualGridRunner.DEFAULT_CONCURRENCY, runner.testConcurrency_.UserConcurrency); Assert.IsTrue(runner.testConcurrency_.IsDefault); Assert.IsFalse(runner.testConcurrency_.IsLegacy); runner = new VisualGridRunner(10); Assert.AreEqual(50, runner.testConcurrency_.ActualConcurrency); Assert.AreEqual(10, runner.testConcurrency_.UserConcurrency); Assert.IsFalse(runner.testConcurrency_.IsDefault); Assert.IsTrue(runner.testConcurrency_.IsLegacy); runner = new VisualGridRunner(new RunnerOptions().TestConcurrency(5)); Assert.AreEqual(5, runner.testConcurrency_.ActualConcurrency); Assert.AreEqual(5, runner.testConcurrency_.UserConcurrency); Assert.IsFalse(runner.testConcurrency_.IsDefault); Assert.IsFalse(runner.testConcurrency_.IsLegacy); runner = new VisualGridRunner(new RunnerOptions().TestConcurrency(5).TestConcurrency(7)); Assert.AreEqual(7, runner.testConcurrency_.ActualConcurrency); Assert.AreEqual(7, runner.testConcurrency_.UserConcurrency); Assert.IsFalse(runner.testConcurrency_.IsDefault); Assert.IsFalse(runner.testConcurrency_.IsLegacy); }
public void Test_VG_RCA_Fluent() { EyesRunner runner = new VisualGridRunner(10); 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(); } }
public void TestConfig_MatchLevel_VG() { EyesRunner runner = new VisualGridRunner(10); Eyes eyes = new Eyes(runner); DoTestConfig_MatchLevel_(eyes); }
public void TestConfig_ForceFullPageScreenshot_VG() { EyesRunner runner = new VisualGridRunner(10); Eyes eyes = new Eyes(runner); DoTestConfig_ForceFullPageScreenshot_(eyes); }
public void IOSSimulatorUfgTest() { ILogHandler logHandler = TestUtils.InitLogHandler(); VisualGridRunner runner = new VisualGridRunner(10, logHandler); Eyes eyes = new Eyes(runner); IWebDriver driver = SeleniumUtils.CreateChromeDriver(); try { IConfiguration config = eyes.GetConfiguration(); config.SaveDiffs = false; config.Batch = TestDataProvider.BatchInfo; config.AddBrowser(new IosDeviceInfo(IosDeviceName.iPhone_XR, ScreenOrientation.Landscape)); eyes.SetConfiguration(config); driver.Url = "http://applitools.github.io/demo"; eyes.Open(driver, "Eyes SDK", "UFG Mobile Happy Flow", new Size(800, 600)); eyes.CheckWindow(); eyes.Close(); } finally { eyes.AbortIfNotClosed(); driver.Quit(); runner.GetAllTestResults(); } }
public void TestPandalytics() { VisualGridRunner runner = new VisualGridRunner(10); IWebDriver driver = SeleniumUtils.CreateChromeDriver(); Eyes eyes = InitEyesWithLogger(runner, verbose: true, writeResources: true); //ConfigureSingleBrowser(eyes); ConfigureMultipleBrowsers(eyes); try { EyesWebDriver eyesWebDriver = (EyesWebDriver)OpenEyes(driver, "https://pandalytics-sandbox.instructure.com", eyes, 1000, 700); driver.FindElement(By.Id("pseudonym_session_unique_id")).SendKeys("*****@*****.**"); driver.FindElement(By.Id("pseudonym_session_password")).SendKeys("password"); driver.FindElement(By.ClassName("Button--login")).Click(); eyes.Check("Dashboard page", Target.Window().Fully()); driver.Url = "https://pandalytics-sandbox.instructure.com/courses/17/external_tools/63"; Thread.Sleep(1000); eyes.Check("LTI tool", Target.Frame("tool_content").Fully()); eyes.CloseAsync(); runner.GetAllTestResults(); } finally { eyes.Abort(); driver.Quit(); } }
internal static void InitEyes(bool useVisualGrid, out IWebDriver driver, out EyesRunner runner, out Eyes eyes, [CallerMemberName] string testName = null) { driver = CreateChromeDriver(); string logPath; ILogHandler logHandler; if (useVisualGrid) { testName += "_VG"; logPath = TestUtils.InitLogPath(testName); logHandler = TestUtils.InitLogHandler(testName, logPath); VisualGridRunner visualGridRunner = new VisualGridRunner(10, logHandler); if (!TestUtils.RUNS_ON_CI) { visualGridRunner.DebugResourceWriter = new FileDebugResourceWriter(logPath); } runner = visualGridRunner; } else { logPath = TestUtils.InitLogPath(testName); logHandler = TestUtils.InitLogHandler(testName, logPath); runner = new ClassicRunner(logHandler); } eyes = new Eyes(runner); eyes.Batch = TestDataProvider.BatchInfo; }
public void TestAgilent() { IWebDriver driver = SeleniumUtils.CreateChromeDriver(); try { List <string> URLs = GetUrls(); int ctr = 0; foreach (string url in URLs) { ctr++; EyesRunner runner = new VisualGridRunner(10); Eyes eyes = new Eyes(runner); RunVisualTest(driver, eyes, url, appName, "Test url: " + url); runner.GetAllTestResults(false); runner = null; eyes = null; GC.Collect(); } } finally { driver.Quit(); } }
public void Task3() { VisualGridRunner runner = new VisualGridRunner(10); Eyes eyes = new Eyes(runner); try { SetUp(eyes); eyes.Open(_driver, "AppliFashion", "Task3", new Size(800, 600)); _driver.Click(page.HomePage.ProductGridFilterIcon); _driver.SetValue(page.HomePage.SidebarGridFilterOption("Black"), "true"); _driver.Click(page.HomePage.SidebarGridFilterFilterButton); _driver.Click(page.HomePage.ProductGridProductCard("Appli Air x Night")); Assert.IsTrue(page.ProductPage.IsAt()); Assert.IsTrue(_driver.Displayed(page.ProductPage.ProductImage)); eyes.Check(Target.Window().Fully().WithName("Product Details test")); } catch { eyes.AbortAsync(); } finally { TearDown(_driver, runner); } }
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 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); }
public void TestRenderSpecialCharacters() { VisualGridRunner runner = new VisualGridRunner(30); Eyes eyes = new Eyes(runner); eyes.SetLogHandler(TestUtils.InitLogHandler()); Configuration sconf = new Configuration(); sconf.SetTestName("Special Characters"); sconf.SetAppName("Special Characters Test"); sconf.AddBrowser(800, 600, BrowserType.CHROME); sconf.SetBatch(TestDataProvider.BatchInfo); eyes.SetConfiguration(sconf); ChromeDriver driver = SeleniumUtils.CreateChromeDriver(); eyes.Open(driver); driver.Url = "https://applitools.github.io/demo/TestPages/SpecialCharacters/index.html"; eyes.Check("Test Special Characters", Target.Window().Fully()); driver.Quit(); eyes.Close(); TestResultsSummary allResults = runner.GetAllTestResults(); }
public void ViewportsTest() { WebDriverProvider webdriverProvider = new WebDriverProvider(); IServerConnectorFactory serverConnectorFactory = new MockServerConnectorFactory(webdriverProvider); ILogHandler logHandler = TestUtils.InitLogHandler(); VisualGridRunner runner = new VisualGridRunner(30, nameof(ViewportsTest), serverConnectorFactory, logHandler); Eyes eyes = new Eyes(runner); Configuration sconf = new Configuration(); sconf.SetBatch(TestDataProvider.BatchInfo); sconf.SetTestName("Viewport Size Test"); sconf.SetAppName("Visual Grid Viewports Test"); sconf.SetHideScrollbars(true); sconf.SetStitchMode(StitchModes.CSS); sconf.SetForceFullPageScreenshot(true); sconf.SetMatchLevel(MatchLevel.Strict); int numOfBrowsers = 0; foreach (BrowserType b in Enum.GetValues(typeof(BrowserType))) { #pragma warning disable CS0618 // Type or member is obsolete if (b == BrowserType.EDGE) { continue; } #pragma warning restore CS0618 // Type or member is obsolete sconf.AddBrowser(700, 500, b); sconf.AddBrowser(800, 600, b); numOfBrowsers++; } eyes.SetConfiguration(sconf); ChromeDriver driver = SeleniumUtils.CreateChromeDriver(); webdriverProvider.SetDriver(driver); try { eyes.Open(driver); driver.Url = "data:text/html,<html><body><h1>Hello, world!</h1></body></html>"; eyes.Check("Test Viewport", Target.Window().Fully()); } finally { driver.Quit(); } TestResultsSummary allResults = runner.GetAllTestResults(false); MockServerConnector serverConnector = (MockServerConnector)runner.ServerConnector; HashSet <RenderRequest> requests = new HashSet <RenderRequest>(); foreach (string requestJson in serverConnector.RenderRequests) { RenderRequest[] reqs = Newtonsoft.Json.JsonConvert.DeserializeObject <RenderRequest[]>(requestJson); foreach (RenderRequest req in reqs) { requests.Add(req); } } int browserCount = sconf.GetBrowsersInfo().Count; Assert.AreEqual(browserCount, numOfBrowsers * 2); Assert.AreEqual(browserCount, requests.Count); }
public void TestConcurrencyLogMessage() { VisualGridRunner runner = new VisualGridRunner(); CollectionAssert.AreEquivalent( new Dictionary <string, object> { { "type", "runnerStarted" }, { "defaultConcurrency", VisualGridRunner.DEFAULT_CONCURRENCY } }, (IDictionary)runner.GetConcurrencyLog()); runner = new VisualGridRunner(10); CollectionAssert.AreEquivalent( new Dictionary <string, object> { { "type", "runnerStarted" }, { "concurrency", 10 } }, (IDictionary)runner.GetConcurrencyLog()); runner = new VisualGridRunner(new RunnerOptions().TestConcurrency(10)); CollectionAssert.AreEquivalent( new Dictionary <string, object> { { "type", "runnerStarted" }, { "testConcurrency", 10 } }, (IDictionary)runner.GetConcurrencyLog()); Assert.IsNull(runner.GetConcurrencyLog()); }
public void TestParallelStepsLimitOfTest() { bool isOnlyOneRender = true; int runningRendersCount = 0; VisualGridRunner runner = new VisualGridRunner(); Configuration config = new Configuration(); config.AddBrowser(new IosDeviceInfo(IosDeviceName.iPhone_7)); ConfigurationProvider configurationProvider = new ConfigurationProvider(config); VisualGridEyes eyes = new VisualGridEyes(configurationProvider, runner); eyes.SetLogHandler(TestUtils.InitLogHandler()); eyes.EyesConnectorFactory = new MockEyesConnectorFactory(); IWebDriver driver = SeleniumUtils.CreateChromeDriver(); try { driver.Url = "http://applitools.github.io/demo"; eyes.Open(driver, "Eyes SDK", "UFG Server Concurrency", new RectangleSize(800, 800)); MockEyesConnector mockEyesConnector = (MockEyesConnector)eyes.eyesConnector_; mockEyesConnector.BeforeRender += (renderRequests) => { int runningRendersCountBeforeInc = runningRendersCount; Interlocked.Increment(ref runningRendersCount); if (runningRendersCountBeforeInc >= RunningTest.PARALLEL_STEPS_LIMIT) { isOnlyOneRender = false; } Thread.Sleep(1000); if (renderRequests.Length != 1) { isOnlyOneRender = false; } }; mockEyesConnector.AfterRender += (results, renderRequests) => { Interlocked.Decrement(ref runningRendersCount); }; for (int i = 0; i < 10; i++) { eyes.Check(Target.Window().Fully()); } eyes.CloseAsync(false); } finally { eyes.AbortAsync(); driver.Quit(); runner.GetAllTestResults(false); } Assert.IsTrue(isOnlyOneRender); }
public void TestWebsiteThatRequireScrolling(string website, string name) { VisualGridRunner runner = new VisualGridRunner(10); IWebDriver driver = SeleniumUtils.CreateChromeDriver(); Eyes eyes = InitEyesWithLogger(runner, writeResources: true, verbose: true, testMethod: name); ConfigureMultipleBrowsers(eyes); try { EyesWebDriver eyesWebDriver = (EyesWebDriver)OpenEyes(driver, website, eyes, 1000, 700, name);; EyesRemoteWebElement html = (EyesRemoteWebElement)eyesWebDriver.FindElement(By.TagName("html")); eyesWebDriver.ExecuteAsyncScript(@"var currScrollPosition = 0; let cb = arguments[arguments.length - 1] var interval = setInterval(function() { let scrollPosition = document.documentElement.scrollTop; currScrollPosition += 300; window.scrollTo(0, currScrollPosition); if (scrollPosition === document.documentElement.scrollTop) { clearInterval(interval); window.scrollTo(0, 0); cb() } }, 100); "); eyes.Check(name, Target.Window().Fully()); eyes.CloseAsync(); runner.GetAllTestResults(); } finally { eyes.Abort(); driver.Quit(); } }
public void TestResetContent() { Configuration config = new Configuration(); config.AddBrowser(new IosDeviceInfo(IosDeviceName.iPhone_7)); ConfigurationProvider configurationProvider = new ConfigurationProvider(config); VisualGridRunner runner = new VisualGridRunner(new RunnerOptions().TestConcurrency(3)); VisualGridEyes eyes = new VisualGridEyes(configurationProvider, runner); eyes.SetLogHandler(TestUtils.InitLogHandler()); IWebDriver driver = SeleniumUtils.CreateChromeDriver(); driver.Url = "http://applitools.github.io/demo"; try { eyes.Open(driver, "Eyes SDK", "UFG Runner Concurrency", new Size(800, 800)); eyes.Check(Target.Window().Fully()); eyes.CloseAsync(true); } finally { eyes.AbortAsync(); driver.Quit(); runner.GetAllTestResults(false); } foreach (ResourceFuture resourceFuture in ((IVisualGridRunner)runner).CachedResources.Values) { RGridResource resource = resourceFuture.GetResource(); Assert.IsNotNull(resource); Assert.IsNull(resource.Content); } }
public void TestRetryWhenServerConcurrencyLimitReached() { Configuration config = new Configuration(); config.AddBrowser(new IosDeviceInfo(IosDeviceName.iPhone_7)); ConfigurationProvider configurationProvider = new ConfigurationProvider(config); VisualGridRunner runner = new VisualGridRunner(new RunnerOptions().TestConcurrency(3)); VisualGridEyes eyes = new VisualGridEyes(configurationProvider, runner); eyes.SetLogHandler(TestUtils.InitLogHandler()); int counter = 0; bool wasConcurrencyFull = false; eyes.EyesConnectorFactory = new MockEyesConnectorFactory() { Events = new Events() { BeforeStartSession = () => { if (Interlocked.Increment(ref counter) < 4) { RunningSession newSession = new RunningSession(); newSession.ConcurrencyFull = true; return(newSession); } return(null); } } }; eyes.AfterServerConcurrencyLimitReachedQueried += (concurrecnyReached) => { if (concurrecnyReached) { wasConcurrencyFull = true; } }; IWebDriver driver = SeleniumUtils.CreateChromeDriver(); driver.Url = "http://applitools.github.io/demo"; try { eyes.Open(driver, "Eyes SDK", "UFG Runner Concurrency", new Size(800, 800)); eyes.Check(Target.Window().Fully()); eyes.CloseAsync(true); } finally { eyes.AbortAsync(); driver.Quit(); runner.GetAllTestResults(false); } Assert.IsTrue(wasConcurrencyFull); Assert.IsFalse(((IVisualGridEyes)eyes).IsServerConcurrencyLimitReached()); Assert.AreEqual(4, counter); }
public void Initialize() { //Initialize the Runner for your test. runner = new VisualGridRunner(10); // Initialize the eyes SDK (IMPORTANT: make sure your API key is set in the APPLITOOLS_API_KEY env variable). _eyes = new Eyes(runner); // Initialize eyes Configuration config = new Configuration(); config.SetApiKey("TlTMI102RD5Kl0PGlP1SLRTb6x5Idiomwl5YuF79ibDBs110"); config.SetBatch(new BatchInfo("UFG Hackathon")); // Add browsers with different viewports config.AddBrowser(1200, 700, BrowserType.CHROME); config.AddBrowser(1200, 700, BrowserType.FIREFOX); config.AddBrowser(1200, 700, BrowserType.EDGE_CHROMIUM); config.AddBrowser(768, 700, BrowserType.CHROME); config.AddBrowser(768, 700, BrowserType.FIREFOX); config.AddBrowser(768, 700, BrowserType.EDGE_CHROMIUM); // Add mobile emulation devices in Portrait mode config.AddDeviceEmulation(DeviceName.iPhone_X, ScreenOrientation.Portrait); config.AddDeviceEmulation(DeviceName.Pixel_2, ScreenOrientation.Portrait); // Set the configuration object to eyes _eyes.SetConfiguration(config); }
public void Test_VG_RCA_Config() { 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("svg"))); driver.SwitchTo().ParentFrame(); eyes.Open(driver, "Test Visual Grid", "Test RCA Config"); eyes.SendDom = true; eyes.Check(Target.Window()); eyes.Close(); runner.GetAllTestResults(); } finally { driver.Quit(); eyes.AbortIfNotClosed(); runner.StopServiceRunner(); } }
public TestIEyesVG(string fixtureName) : base(fixtureName) { runner_ = new VisualGridRunner(40, LogHandler); logger_ = runner_.Logger; logger_.Log("enter"); runner_.ServerUrl = SERVER_URL; runner_.ApiKey = API_KEY; }
private static void TearDown(IWebDriver webDriver, VisualGridRunner runner) { // Close the browser webDriver.Quit(); TestResultsSummary allTestResults = runner.GetAllTestResults(); System.Console.WriteLine(allTestResults); }
public void OneTimeSetup() { //IDictionary envVars = Environment.GetEnvironmentVariables(); //foreach (object envKey in envVars.Keys) // TestContext.Progress.WriteLine($"{envKey} = {envVars[envKey]}"); TestContext.Progress.WriteLine($"{DateTimeOffset.Now:yyyy'-'MM'-'dd HH':'mm':'ss} - URL: {url} ; browsers: {browsers} ; concurrency: {concurrency} ; steps: {steps}"); runner = new VisualGridRunner(concurrency, logHandler); timer.Start(); }
private Eyes InitEyes_(string testName, ILogHandler logHandler, bool?forceFullPageScreenshot = null) { EyesRunner runner = null; string testNameAsFilename = TestUtils.SanitizeForFilename(TestContext.CurrentContext.Test.FullName); string expectedVGOutput = null; WebDriverProvider webDriverProvider = new WebDriverProvider(); if (useVisualGrid_) { if (RUNS_ON_CI || USE_MOCK_VG) { //eyes.Logger.Log("using VG mock eyes connector"); Assembly thisAssembly = Assembly.GetCallingAssembly(); Stream expectedOutputJsonStream = thisAssembly.GetManifestResourceStream("Test.Eyes.Selenium.DotNet.Resources.VGTests." + testNameAsFilename + ".json"); if (expectedOutputJsonStream != null) { using (StreamReader reader = new StreamReader(expectedOutputJsonStream)) { expectedVGOutput = reader.ReadToEnd(); } runner = new VisualGridRunner(10, null, new MockServerConnectorFactory(webDriverProvider), logHandler); } } } runner = runner ?? (useVisualGrid_ ? (EyesRunner) new VisualGridRunner(10, logHandler) : new ClassicRunner(logHandler)); Eyes eyes = new Eyes(runner); TestUtils.SetupDebugScreenshotProvider(eyes, testName); SpecificTestContextRequirements testContextReqs = new SpecificTestContextRequirements(eyes, testName); testDataByTestId_.Add(TestContext.CurrentContext.Test.ID, testContextReqs); testContextReqs.TestNameAsFilename = testNameAsFilename; testContextReqs.ExpectedVGOutput = expectedVGOutput; testContextReqs.WebDriverProvider = webDriverProvider; string serverUrl = Environment.GetEnvironmentVariable("APPLITOOLS_SERVER_URL"); if (!string.IsNullOrEmpty(serverUrl)) { eyes.ServerUrl = serverUrl; } if (forceFullPageScreenshot != null) { eyes.ForceFullPageScreenshot = forceFullPageScreenshot.Value; } eyes.HideScrollbars = true; eyes.StitchMode = stitchMode_; eyes.SaveNewTests = false; eyes.Batch = TestDataProvider.BatchInfo; return(eyes); }
private VisualGridRunner CreateRenderingManager(string server1, string key1, bool isDisabled1) { VisualGridRunner renderingManager = new VisualGridRunner(3); renderingManager.SetLogHandler(new StdoutLogHandler(true)); renderingManager.Logger.Log("enter"); renderingManager.ServerUrl = server1; renderingManager.ApiKey = key1; renderingManager.IsDisabled = isDisabled1; return(renderingManager); }