Пример #1
0
        /// <summary>
        /// Wait for all Angular pending AJAX requests to complete
        /// </summary>
        /// <param name="secondsToWait">The duration after which to stop waiting.</param>
        public static void WaitForAngular(int secondsToWait = 30)
        {
            if (browser == null)
            {
                return;
            }

            if (browser.IsDisposed)
            {
                return;
            }

            if (browser.IsClosed)
            {
                return;
            }

            if (!browser.CanGetUrl())
            {
                return;
            }

            if (!browser.Url.StartsWith("http", StringComparison.Ordinal))
            {
                return;
            }

            var timeout      = TimeSpan.FromSeconds(secondsToWait);
            var waitInterval = TimeSpan.FromMilliseconds(500);
            var waiter       = new Waiter(timeout, waitInterval);

            try
            {
                waiter.WaitFor(
                    () =>
                {
                    var pendingRequests = GetAngularPendingRequestCount();
                    if (pendingRequests <= 0)
                    {
                        return(true);
                    }

                    LogDebug(
                        () =>
                        string.Format(
                            "    (WebDriverSupport.WaitForAngular: {0} pending requests)",
                            pendingRequests));
                    return(false);
                });
            }
            catch (TimeoutException)
            {
                throw new ElementExecuteException("Angular pending requests not completed within {0}", timeout);
            }
        }
Пример #2
0
        public void CanGetUrl_ReturnsTrue()
        {
            // Arrange
            CodedUIBrowserFactory browserFactory = new CodedUIBrowserFactory();

            // Act
            IBrowser browser = browserFactory.GetBrowser();

            // Assert
            Assert.IsTrue(browser.CanGetUrl());
        }