コード例 #1
0
        public bool RunAllSpecs()
        {
            string title = "Running Jasmine specs for project at " + _input.SerenityFile;

            Console.WriteLine(title);
            string line = "".PadRight(title.Length, '-');

            Console.WriteLine(line);

            buildApplication();
            bool returnValue = true;

            resetServer();

            _driver.NavigateTo <JasminePages>(x => x.AllSpecs());

            IWebDriver browser = _applicationUnderTest.Driver;

            Wait.Until(() => browser.FindElement(By.ClassName("finished-at")).Text.IsNotEmpty(),
                       timeoutInMilliseconds: _input.TimeoutFlag * 1000);
            ReadOnlyCollection <IWebElement> failures = browser.FindElements(By.CssSelector("div.suite.failed"));

            if (_input.Mode == JasmineMode.run && _input.VerboseFlag)
            {
                browser.As <IJavaScriptExecutor>().ExecuteScript("$('#jasmine-reporter').show();");
                ReadOnlyCollection <IWebElement> logs = browser.FindElements(By.ClassName("jasmine-reporter-item"));
                logs.Each(message => Console.WriteLine(message.Text));
                browser.As <IJavaScriptExecutor>().ExecuteScript("$('#jasmine-reporter').hide();");
            }

            if (failures.Any())
            {
                returnValue = false;

                Console.WriteLine(line);
                writeFailures(failures);
            }

            Console.WriteLine();
            Console.WriteLine(line);
            writeTotals(browser);

            browser.Quit();
            browser.SafeDispose();
            _server.Dispose();

            return(returnValue);
        }
コード例 #2
0
        protected void MockAdjustElementExibition(IWebDriver driver, IWebElement element)
        {
            A.CallTo(() => driver
                     .As <IJavaScriptExecutor>()
                     .ExecuteScript(A <string> ._, A <IWebElement> ._))
            .Returns(A.Dummy <int>());

            A.CallTo(() => element.Location)
            .Returns(new Point(A.Dummy <int>(), A.Dummy <int>()));
        }
コード例 #3
0
 /// <summary>
 /// Casts the web driver to <see cref="ITakesScreenshot"/> type.
 /// Considers <see cref="IWrapsDriver"/>.
 /// </summary>
 /// <param name="webDriver">The <see cref="IWebDriver"/> instance.</param>
 /// <returns><paramref name="webDriver"/> casted to <see cref="ITakesScreenshot"/>.</returns>
 /// <exception cref="NotSupportedException"><paramref name="webDriver"/> doesn't implement <see cref="ITakesScreenshot"/>.</exception>
 public static ITakesScreenshot AsScreenshotTaker(this IWebDriver webDriver) =>
 webDriver.As <ITakesScreenshot>();
コード例 #4
0
 /// <summary>
 /// Casts the web driver to <see cref="IJavaScriptExecutor"/> type.
 /// Considers <see cref="IWrapsDriver"/>.
 /// </summary>
 /// <param name="webDriver">The <see cref="IWebDriver"/> instance.</param>
 /// <returns><paramref name="webDriver"/> casted to <see cref="IJavaScriptExecutor"/>.</returns>
 /// <exception cref="NotSupportedException"><paramref name="webDriver"/> doesn't implement <see cref="IJavaScriptExecutor"/>.</exception>
 public static IJavaScriptExecutor AsScriptExecutor(this IWebDriver webDriver) =>
 webDriver.As <IJavaScriptExecutor>();
コード例 #5
0
 protected void MockScrollElement(IWebDriver driver) =>
 A.CallTo(() => driver
          .As <IJavaScriptExecutor>()
          .ExecuteScript(A <string> ._, A <IWebElement> ._));