Exemple #1
0
        /// <summary>
        /// Executes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <returns>The action result.</returns>
        protected override ActionResult Execute(WaitForElementContext context)
        {
            var property = this.ElementLocator.GetElement(context.PropertyName);

            var result = property.WaitForElementCondition(context.Condition, context.Timeout);

            return(result
                       ? ActionResult.Successful()
                       : ActionResult.Failure(
                       new ElementExecuteException(
                           "Could not perform action '{0}' before timeout: {1}",
                           context.Condition,
                           context.Timeout)));
        }
        /// <summary>
        /// Executes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <returns>The action result.</returns>
        protected override ActionResult Execute(WaitForElementContext context)
        {
            var timeout = context.Timeout.GetValueOrDefault(DefaultTimeout);

            var waitStartTime    = DateTime.Now;
            var property         = this.GetElement(context.PropertyName, timeout);
            var remainingTimeout = timeout - (DateTime.Now - waitStartTime);

            var result = property.WaitForElementCondition(context.Condition, remainingTimeout);

            return(result
                       ? ActionResult.Successful()
                       : ActionResult.Failure(
                       new ElementExecuteException(
                           "Could not perform action '{0}' before timeout: {1}",
                           context.Condition,
                           timeout)));
        }