/// <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"); }
/// <summary> /// Двойной клик по элементу. /// </summary> /// <param name="button"> /// Используемая кнопка мыши. /// </param> /// <param name="strategy"> /// Стратегия клика. /// </param> public void DoubleClick(MouseButton button, ClickStrategies strategy) { this.Click(button, strategy, true); }
/// <summary> /// Клик по элементу. /// </summary> /// <param name="button"> /// Используемая кнопка мыши. /// </param> /// <param name="strategy"> /// Стратегия клика. /// </param> public void Click(MouseButton button, ClickStrategies strategy) { this.Click(button, strategy, false); }