public void Setup() { //Setup and Configure Selenium for Browser Automation var config = new ChromeConfig(); new DriverManager().SetUpDriver(config); var options = new ChromeOptions(); options.AddLocalStatePreference("download.prompt_for_download", false); But = new ChromeDriver(options); //Initialize the Runner for your test. _runner = new ClassicRunner(); // Initialize the eyes SDK (IMPORTANT: make sure your API key is set in the APPLITOOLS_API_KEY env variable). Eyes = new Eyes(_runner); Eyes.SaveNewTests = true; //Open AppliTool's Eyes and start a test based on the method name Eyes.Open(But, "VisualAiRockstar", TestContext.CurrentContext.Test.MethodName, new Size(1440, 900)); //Utilize the Batching Feature to group tests by their Class Eyes.Batch.Name = TestContext.CurrentContext.Test.ClassName; // Navigate to the end desired Url But.Url = "https://demo.applitools.com/hackathon.html"; }
public void TestDoubleOpenCheckCloseWithDifferentInstances(bool useVisualGrid) { IWebDriver driver = SeleniumUtils.CreateChromeDriver(); driver.Url = "https://applitools.github.io/demo/TestPages/VisualGridTestPage/"; EyesRunner runner = useVisualGrid ? (EyesRunner) new VisualGridRunner(10) : new ClassicRunner(); runner.SetLogHandler(TestUtils.InitLogHandler()); string suffix = useVisualGrid ? "_VG" : ""; try { Eyes eyes1 = new Eyes(runner); eyes1.Batch = TestDataProvider.BatchInfo; eyes1.Open(driver, "Applitools Eyes SDK", nameof(TestDoubleOpenCheckCloseWithDifferentInstances) + suffix, new RectangleSize(1200, 800)); eyes1.Check(Target.Window().Fully().IgnoreDisplacements(false).WithName("Step 1")); eyes1.Close(false); Eyes eyes2 = new Eyes(runner); eyes2.Batch = TestDataProvider.BatchInfo; eyes2.Open(driver, "Applitools Eyes SDK", nameof(TestDoubleOpenCheckCloseWithDifferentInstances) + suffix, new RectangleSize(1200, 800)); eyes2.Check(Target.Window().Fully().IgnoreDisplacements(false).WithName("Step 2")); eyes2.Close(false); } finally { driver.Quit(); } TestResultsSummary allTestResults = runner.GetAllTestResults(false); Assert.AreEqual(2, allTestResults.Count); }
public void TestDoubleCheckDontGetAllResults(bool useVisualGrid) { IWebDriver driver = SeleniumUtils.CreateChromeDriver(); driver.Url = "https://applitools.com/helloworld"; EyesRunner runner = useVisualGrid ? (EyesRunner) new VisualGridRunner(10) : new ClassicRunner(); runner.SetLogHandler(TestUtils.InitLogHandler()); string suffix = useVisualGrid ? "_VG" : ""; try { Eyes eyes1 = new Eyes(runner); eyes1.Batch = TestDataProvider.BatchInfo; eyes1.Open(driver, "Applitools Eyes SDK", nameof(TestDoubleCheckDontGetAllResults) + suffix, new RectangleSize(1200, 800)); eyes1.Check(Target.Window().WithName("Step 1")); eyes1.Check(Target.Window().WithName("Step 2")); eyes1.Close(false); } finally { driver.Quit(); } }
public Eyes() { runner_ = new ClassicRunner(); configuration_.SetForceFullPageScreenshot(false); seleniumEyes_ = new SeleniumEyes(this, (ClassicRunner)runner_); activeEyes_ = seleniumEyes_; }
public void TestCloseAsync(bool useVisualGrid) { IWebDriver driver = SeleniumUtils.CreateChromeDriver(); string logPath = TestUtils.InitLogPath(); ILogHandler logHandler = TestUtils.InitLogHandler(logPath: logPath); EyesRunner runner = useVisualGrid ? (EyesRunner) new VisualGridRunner(10, logHandler) : new ClassicRunner(logHandler); if (useVisualGrid && !TestUtils.RUNS_ON_CI) { ((VisualGridRunner)runner).DebugResourceWriter = new FileDebugResourceWriter(logPath); } Eyes eyes = new Eyes(runner); eyes.Batch = TestDataProvider.BatchInfo; try { driver.Url = "https://applitools.com/helloworld"; eyes.Open(driver, nameof(TestApiMethods), nameof(TestCloseAsync) + "_1", new Size(800, 600)); eyes.Check(Target.Window().WithName("step 1")); eyes.CloseAsync(); driver.FindElement(By.TagName("button")).Click(); eyes.Open(driver, nameof(TestApiMethods), nameof(TestCloseAsync) + "_2", new Size(800, 600)); eyes.Check(Target.Window().WithName("step 2")); eyes.CloseAsync(); runner.GetAllTestResults(); } finally { 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 BeforeTestSuite() { // 1. Create the runner that manages multiple tests if (useVisualGrid_) { runner = new VisualGridRunner(concurrentSessions); } else { runner = new ClassicRunner(); } // continued below.... // 2. Create a configuration object, we will use this when setting up each test suiteConfig = new Configuration(); // 3. Set the various configuration values suiteConfig // 4. Add Visual Grid browser configurations .AddBrowser(900, 600, BrowserType.CHROME) .AddBrowser(1024, 786, BrowserType.CHROME) .AddBrowser(900, 600, BrowserType.FIREFOX) .AddBrowser(900, 600, BrowserType.IE_10) .AddBrowser(900, 600, BrowserType.IE_11) .AddBrowser(900, 600, BrowserType.EDGE) .AddDeviceEmulation(DeviceName.iPhone_4, Applitools.VisualGrid.ScreenOrientation.Portrait) .AddDeviceEmulation(DeviceName.Galaxy_S5, Applitools.VisualGrid.ScreenOrientation.Landscape) // 5. set up default Eyes configuration values .SetBatch(new BatchInfo(batchName)) .SetAppName(appName) .SetViewportSize(new Applitools.Utils.Geometry.RectangleSize(viewPortWidth, viewPortHeight)); }
internal Eyes(IServerConnectorFactory serverConnectorFactory) { runner_ = new ClassicRunner(); configuration_.SetForceFullPageScreenshot(false); seleniumEyes_ = new SeleniumEyes(this, (ClassicRunner)runner_, serverConnectorFactory); activeEyes_ = seleniumEyes_; }
public void TestDoubleCheckDontGetAllResults(bool useVisualGrid) { IWebDriver driver = SeleniumUtils.CreateChromeDriver(); driver.Url = "https://applitools.com/helloworld"; string suffix = useVisualGrid ? "_VG" : ""; ILogHandler logHandler = TestUtils.InitLogHandler(nameof(TestDoubleCheckDontGetAllResults) + suffix); EyesRunner runner = useVisualGrid ? (EyesRunner) new VisualGridRunner(10, logHandler) : new ClassicRunner(logHandler); try { Eyes eyes = new Eyes(runner); eyes.Batch = TestDataProvider.BatchInfo; eyes.Open(driver, "Applitools Eyes SDK", nameof(TestDoubleCheckDontGetAllResults) + suffix, new RectangleSize(1200, 800)); eyes.Check(Target.Window().WithName("Step 1")); eyes.Check(Target.Window().WithName("Step 2")); eyes.Close(false); } finally { driver.Quit(); } Assert.IsFalse(runner.GetAllTestResultsAlreadyCalled); (runner as VisualGridRunner)?.StopServiceRunner(); }
public void BeforeSuite() { visualGridRunner = new VisualGridRunner(concurrentSessions); visualGridRunner.SetLogHandler(TestUtils.InitLogHandler(nameof(TestEkbVg), verbose: false)); visualGridRunner.Logger.Log("enter"); batchInfo = new BatchInfo("test EKB VG"); suiteConfig = new Configuration(); suiteConfig.AddBrowser(viewPortWidth, viewPortHeight, BrowserType.CHROME) .SetHideScrollbars(true) .SetHideCaret(true) .SetWaitBeforeScreenshots(10000) .SetAppName(appName) .SetViewportSize(new RectangleSize(viewPortWidth, viewPortHeight)) .SetMatchTimeout(TimeSpan.FromSeconds(6)) .SetBatch(batchInfo); visualGridRunner.Logger.Log("creating {0} chrome drivers", webDrivers.BoundedCapacity); for (int i = 0; i < webDrivers.BoundedCapacity; ++i) { webDrivers.Add(SeleniumUtils.CreateChromeDriver()); } visualGridRunner.Logger.Log("createdg {0} chrome drivers", webDrivers.Count); }
public void GivenTest() { //Initialize the Runner for your test. runner = new ClassicRunner(); // Initialize the eyes SDK (IMPORTANT: make sure your API key is set in the APPLITOOLS_API_KEY env variable). eyes = new Eyes(runner); // Use Chrome browser driver = new ChromeDriver(); // Start the test by setting AUT's name, window or the page name that's being tested, viewport width and height eyes.Open(driver, "Demo App", "Smoke Test", new Size(800, 600)); // Navigate the browser to the "ACME" demo app. To see visual bugs after the first run, use the commented line below instead. driver.Url = "https://demo.applitools.com/"; //driver.Url = "https://demo.applitools.com/index_v2.html"; // Visual checkpoint #1 - Check the login page. eyes.CheckWindow("Login Page"); // This will create a test with two test steps. driver.FindElement(By.Id("log-in")).Click(); // Visual checkpoint #2 - Check the app page. eyes.CheckWindow("App Window"); // End the test. eyes.CloseAsync(); }
public static void SetupLogging(EyesRunner runner, [CallerMemberName] string testName = null, string path = null) { ILogHandler logHandler; if (!RUNS_ON_CI) { path = path ?? InitLogPath(testName); logHandler = new FileLogHandler(Path.Combine(path, testName + ".log"), true, true); //if (eyes.runner_ is VisualGridRunner visualGridRunner) //{ // visualGridRunner.DebugResourceWriter = new FileDebugResourceWriter(path); // ((VisualGridEyes)eyes.activeEyes_).debugResourceWriter_ = visualGridRunner.DebugResourceWriter; //} } else { logHandler = new NunitLogHandler(false); } if (logHandler != null) { runner.SetLogHandler(logHandler); logHandler.Open(); } }
public Eyes(Uri serverUrl) { ArgumentGuard.NotNull(serverUrl, nameof(serverUrl)); runner_ = new ClassicRunner(); configuration_.SetForceFullPageScreenshot(false); seleniumEyes_ = new SeleniumEyes(this, serverUrl, (ClassicRunner)runner_); activeEyes_ = seleniumEyes_; }
protected void initEyes(bool isVisualGrid, bool isCSSMode) { string testName = NUnit.Framework.TestContext.CurrentContext.Test.MethodName; ILogHandler logHandler = TestUtils.InitLogHandler(testName); runner = isVisualGrid ? (EyesRunner)(new VisualGridRunner(10, logHandler)) : new ClassicRunner(logHandler); eyes = new Eyes(runner); initEyesSettings(isVisualGrid, isCSSMode); }
//[TestCase(true), TestCase(false)] public void HelloWorldTest(bool useVisualGrid) { IWebDriver webDriver = SeleniumUtils.CreateChromeDriver(); webDriver.Url = "https://applitools.com/helloworld"; EyesRunner runner = useVisualGrid ? (EyesRunner) new VisualGridRunner(10) : new ClassicRunner(); runner.SetLogHandler(TestUtils.InitLogHandler()); Eyes eyes = new Eyes(runner); Configuration sconf = eyes.GetConfiguration(); string suffix = useVisualGrid ? "_VG" : ""; // Set test name sconf.SetTestName("Hello World Demo" + suffix); // Set app name sconf.SetAppName("Hello World Demo"); // Add browsers sconf.AddBrowser(800, 600, BrowserType.CHROME); sconf.AddBrowser(700, 500, BrowserType.FIREFOX); sconf.AddBrowser(1200, 800, BrowserType.IE_10); sconf.AddBrowser(1200, 800, BrowserType.IE_11); sconf.AddBrowser(1600, 1200, BrowserType.EDGE); // Set the configuration object to eyes eyes.SetConfiguration(sconf); try { // Call Open on eyes to initialize a test session eyes.Open(webDriver); // Add 2 checks eyes.Check(Target.Window().WithName("Step 1 - Viewport").Ignore(By.CssSelector(".primary"))); eyes.Check(Target.Window().Fully().WithName("Step 1 - Full Page") .Floating(By.CssSelector(".primary"), 10, 20, 30, 40) .Floating(By.TagName("button"), 1, 2, 3, 4)); webDriver.FindElement(By.TagName("button")).Click(); // Add 2 checks eyes.Check(Target.Window().WithName("Step 2 - Viewport")); eyes.Check(Target.Window().Fully().WithName("Step 2 - Full Page")); // Close eyes and collect results eyes.Close(); } finally { eyes.Abort(); webDriver.Quit(); } }
private Eyes InitEyes(IWebDriver driver, EyesRunner runner, string url, int width, int height, bool writeResources = false, bool verbose = true, [CallerMemberName] string testMethod = null) { Eyes eyes = InitEyesWithLogger(runner, writeResources, verbose, testMethod); ConfigureMultipleBrowsers(eyes); OpenEyes(driver, url, eyes, width, height, testMethod); return(eyes); }
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); }
public void BeforeEach() { //Initialize the Runner for your test. runner = new ClassicRunner(); // Initialize the eyes SDK (IMPORTANT: make sure your API key is set in the APPLITOOLS_API_KEY env variable). eyes = new Eyes(runner); // Use Chrome browser driver = new ChromeDriver(); }
public Eyes(ILogHandler logHandler = null) { if (logHandler == null) { logHandler = NullLogHandler.Instance; } runner_ = new ClassicRunner(logHandler); configuration_.SetForceFullPageScreenshot(false); seleniumEyes_ = new SeleniumEyes(this, (ClassicRunner)runner_); activeEyes_ = seleniumEyes_; }
private static void TearDown(IWebDriver driver, EyesRunner runner) { driver.Quit(); // Wait and collect all test results // we pass false to this method to suppress the exception that is thrown if we // find visual differences TestResultsSummary allTestResults = runner.GetAllTestResults(false); // Print results Console.WriteLine(allTestResults); }
public Eyes(Uri serverUrl, ILogHandler logHandler = null) { ArgumentGuard.NotNull(serverUrl, nameof(serverUrl)); if (logHandler == null) { logHandler = NullLogHandler.Instance; } runner_ = new ClassicRunner(logHandler); configuration_.SetForceFullPageScreenshot(false); seleniumEyes_ = new SeleniumEyes(this, serverUrl, (ClassicRunner)runner_); activeEyes_ = seleniumEyes_; }
private static EyesRunner CreateEyesRunnerWithMockServerConnector_(bool useVG, IWebDriver driver, ILogHandler logHandler) { WebDriverProvider webDriverProvider = new WebDriverProvider(); webDriverProvider.SetDriver(driver); IServerConnectorFactory serverConnectorFactory = new MockServerConnectorFactory(webDriverProvider); EyesRunner runner = useVG ? (EyesRunner) new VisualGridRunner(10, null, serverConnectorFactory, logHandler) : new ClassicRunner(logHandler, serverConnectorFactory); return(runner); }
private Eyes InitEyes_(EyesRunner runner, IWebDriver driver, Size viewport, [CallerMemberName] string testName = null) { Eyes eyes = new Eyes(runner); Configuration sconf = new Configuration(); sconf.SetBatch(TestDataProvider.BatchInfo); sconf.SetViewportSize(viewport); sconf.SetTestName(testName).SetAppName(nameof(TestRendersMatch)); eyes.SetConfiguration(sconf); eyes.Open(driver); return(eyes); }
public void TestSetServerUrlAndApiKeyInRunner(bool useVG) { IWebDriver driver = SeleniumUtils.CreateChromeDriver(); ILogHandler logHandler = TestUtils.InitLogHandler(); EyesRunner runner = CreateEyesRunnerWithMockServerConnector_(useVG, driver, logHandler); runner.ServerUrl = "https://some.server.url.com"; runner.ApiKey = "someApiKey"; Eyes eyes = new Eyes(runner); ValidateServerUrlAndApiKey_(driver, runner, eyes); }
private static Eyes InitEyesWithLogger(EyesRunner runner, bool writeResources = false, bool verbose = true, [CallerMemberName] string testMethod = null) { string logPath = TestUtils.InitLogPath(testMethod); if (writeResources && runner is VisualGridRunner visualGridRunner) { visualGridRunner.DebugResourceWriter = new FileDebugResourceWriter(logPath); } Eyes eyes = new Eyes(runner); eyes.SetLogHandler(TestUtils.InitLogHandler(testMethod, logPath, verbose)); eyes.Batch = TestDataProvider.BatchInfo; return(eyes); }
public void BeforeEach() { //Initialize the Runner for your test. runner = new ClassicRunner(); // Initialize the eyes SDK (IMPORTANT: make sure your API key is set in the APPLITOOLS_API_KEY env variable). eyes = new Eyes(runner); // Use Chrome browser ChromeOptions options = new ChromeOptions(); options.AddArgument("--headless"); driver = new ChromeDriver(options); }
public void SetUp() { driver = new ChromeDriver(appsettings.AppliTools.WebDriver) { Url = appsettings.AppliTools.DriverUrl, }; logInPage = new LoginPage(driver); mainPage = new MainPage(driver); runner = new ClassicRunner(); eyes = new Eyes(runner) { ForceFullPageScreenshot = true, }; }
protected void initEyes(Boolean isVisualGrid, Boolean isCSSMode) { runner = isVisualGrid ? (EyesRunner)(new VisualGridRunner(10)) : new ClassicRunner(); eyes = new Eyes(runner); eyes.HostOS = "Linux"; eyes.Batch = BatchInfo; if (!isVisualGrid) { eyes.StitchMode = isCSSMode ? StitchModes.CSS : StitchModes.Scroll; } eyes.BranchName = "master"; eyes.ParentBranchName = "master"; //eyes.AddProperty("ForceFPS", eyes.ForceFullPageScreenshot ? "true" : "false"); //eyes.AddProperty("Agent ID", eyes.FullAgentId); //eyes.HideScrollbars = true; }
public void LocalSetUp() { driver_ = SeleniumUtils.CreateChromeDriver(); driver_.Url = "data:text/html,<p>Test</p>"; runner_ = useVisualGrid_ ? (EyesRunner) new VisualGridRunner(10) : new ClassicRunner(); eyes_ = new Eyes(runner_); eyes_.Batch = TestDataProvider.BatchInfo; string testName = useVisualGrid_ ? "Test Abort_VG" : "Test Abort"; Configuration config = eyes_.GetConfiguration(); config.AddBrowser(800, 600, BrowserType.CHROME); eyes_.SetConfiguration(config); eyes_.Open(driver_, testName, testName, new Size(1200, 800)); }
public void Setbatch() { //Set Batch _batchInfo = new BatchInfo("Visual Test") { Id = "Visual_test_batch" }; //Initialize the Runner for your test. _runner = new ClassicRunner(); // Initialize the eyes SDK (IMPORTANT: make sure your API key is set in the APPLITOOLS_API_KEY env variable). _eyes = new Eyes(_runner) { ApiKey = Key, Batch = _batchInfo, ForceFullPageScreenshot = true }; }