Beispiel #1
0
        /// <summary>
        /// Клик по элементу.
        /// </summary>
        /// <param name="button">
        /// Используемая кнопка мыши.
        /// </param>
        /// <param name="strategy">
        /// Стратегия клика.
        /// </param>
        /// <param name="doubleClick">
        /// Флаг двойного клика.
        /// </param>
        public void Click(MouseButton button, ClickStrategies strategy, bool doubleClick)
        {
            if (!this.Instance.Current.IsEnabled)
            {
                Logger.Error("Element '{0}' not enabled. Click failed.", this.ToString());
                CruciatusFactory.Screenshoter.AutomaticScreenshotCaptureIfNeeded();
                throw new ElementNotEnabledException("NOT CLICK");
            }

            if (strategy == ClickStrategies.None)
            {
                strategy = ~strategy;
            }

            if (strategy.HasFlag(ClickStrategies.ClickablePoint))
            {
                if (CruciatusCommand.TryClickOnClickablePoint(button, this, doubleClick))
                {
                    return;
                }
            }

            if (strategy.HasFlag(ClickStrategies.BoundingRectangleCenter))
            {
                if (CruciatusCommand.TryClickOnBoundingRectangleCenter(button, this, doubleClick))
                {
                    return;
                }
            }

            if (strategy.HasFlag(ClickStrategies.InvokePattern))
            {
                if (CruciatusCommand.TryClickUsingInvokePattern(this, doubleClick))
                {
                    return;
                }
            }

            Logger.Error("Click on '{0}' element failed", this.ToString());
            throw new CruciatusException("NOT CLICK");
        }
Beispiel #2
0
 /// <summary>
 /// Двойной клик по элементу.
 /// </summary>
 /// <param name="button">
 /// Используемая кнопка мыши.
 /// </param>
 /// <param name="strategy">
 /// Стратегия клика.
 /// </param>
 public void DoubleClick(MouseButton button, ClickStrategies strategy)
 {
     this.Click(button, strategy, true);
 }
Beispiel #3
0
 /// <summary>
 /// Клик по элементу.
 /// </summary>
 /// <param name="button">
 /// Используемая кнопка мыши.
 /// </param>
 /// <param name="strategy">
 /// Стратегия клика.
 /// </param>
 public void Click(MouseButton button, ClickStrategies strategy)
 {
     this.Click(button, strategy, false);
 }