コード例 #1
0
 public void Count(ElementProxy element, int count)
 {
     Parallel.ForEach(element.Elements, e =>
     {
         this.BuildAssertProvider(e.Item1).Count(new ElementProxy(e.Item1, e.Item2), count);
     });
 }
コード例 #2
0
 public void AppendText(ElementProxy element, string text)
 {
     this.RepackExceptions(() => Parallel.ForEach(element.Elements, e =>
     {
         e.Item1.AppendText(new ElementProxy(e.Item1, e.Item2), text);
     }));
 }
コード例 #3
0
 public void Visible(ElementProxy element, Action <bool> action)
 {
     this.Act(CommandType.Action, () =>
     {
         var el        = (element.Element as Element).AutomationElement;
         var isVisible = false;
         try
         {
             isVisible = bool.Parse(this.ActiveDomContainer.Eval(string.Format("jQuery({0}).is(':visible');", el.GetJavascriptElementReference())));
         }
         catch (JavaScriptException) { }
         action(isVisible);
     });
 }
コード例 #4
0
        public ElementProxy FindMultiple(string selector)
        {
            var result = new ElementProxy();

            this.RepackExceptions(() => Parallel.ForEach(this.commandProviders, x =>
            {
                foreach (var element in x.FindMultiple(selector).Elements)
                {
                    result.Elements.Add(new Tuple <ICommandProvider, Func <IElement> >(x, element.Item2));
                }
            }));

            return(result);
        }
コード例 #5
0
 public void DragAndDrop(ElementProxy source, int sourceOffsetX, int sourceOffsetY, ElementProxy target, int targetOffsetX, int targetOffsetY)
 {
     this.Act(CommandType.Action, () =>
     {
         var element       = source.Element as Element;
         var targetElement = target.Element as Element;
         new Actions(this._webDriver)
         .MoveToElement(element.WebElement, sourceOffsetX, sourceOffsetY)
         .ClickAndHold()
         .MoveToElement(targetElement.WebElement, targetOffsetX, targetOffsetY)
         .Release()
         .Perform();
     });
 }
コード例 #6
0
        public void SelectIndex(ElementProxy element, int optionIndex)
        {
            this.Act(CommandType.Action, () =>
            {
                var unwrappedElement = element.Element as Element;

                SelectElement selectElement = new SelectElement(unwrappedElement.WebElement);
                if (selectElement.IsMultiple)
                {
                    selectElement.DeselectAll();
                }
                selectElement.SelectByIndex(optionIndex);
            });
        }
コード例 #7
0
        public IActionSyntaxProvider To(ElementProxy targetElement, int targetOffsetX, int targetOffsetY)
        {
            // Before
            _logger.LogPartialMessage(" to: " + targetElement.Element.Selector + " with offset x: " + targetOffsetX + " y: " + targetOffsetY, true);

            // Execute
            if (!IsInDryRunMode)
            {
                _dragDropSyntaxProvider.To(targetElement, targetOffsetX, targetOffsetY);
            }

            // After
            return(_actionSyntaxProvider);
        }
コード例 #8
0
        public IAssertSyntaxProvider In(ElementProxy element)
        {
            // Before
            _logger.LogPartialMessage("in element with selector: " + element.Element.Selector, true);

            // Execute
            if (!IsInDryRunMode)
            {
                _assertValueSyntaxProvider.In(element);
            }

            // After
            return(_assertSyntaxProvider);
        }
コード例 #9
0
        public IActionSyntaxProvider Upload(ElementProxy element, int x, int y, string fileName)
        {
            // Before
            _logger.LogMessage("Upload file :" + fileName + " into element with selector: " + element.Element.Selector + " position x: " + x + "y: " + y);

            // Execute
            if (!IsInDryRunMode)
            {
                _actionSyntaxProvider.Upload(element, x, y, fileName);
            }

            // After
            return(this);
        }
コード例 #10
0
        public IActionSyntaxProvider To(ElementProxy targetElement)
        {
            // Before
            _logger.LogPartialMessage(" to: " + targetElement.Element.Selector, true);

            // Execute
            if (!IsInDryRunMode)
            {
                _dragDropSyntaxProvider.To(targetElement);
            }

            // After
            return(_actionSyntaxProvider);
        }
コード例 #11
0
        public IActionSyntaxProvider Scroll(ElementProxy element)
        {
            // Before
            _logger.LogMessage("Scroll to element with selector: " + element.Element.Selector);

            // Execute
            if (!IsInDryRunMode)
            {
                _actionSyntaxProvider.Scroll(element);
            }

            // After
            return(this);
        }
コード例 #12
0
        public IActionSyntaxProvider RightClick(ElementProxy element)
        {
            // Before
            _logger.LogMessage("Rightclick element with selector: " + element.Element.Selector);

            // Execute
            if (!IsInDryRunMode)
            {
                _actionSyntaxProvider.RightClick(element);
            }

            // After
            return(this);
        }
コード例 #13
0
        public IActionSyntaxProvider Hover(ElementProxy element, int x, int y)
        {
            // Before
            _logger.LogMessage("Hover over element with selector: " + element.Element.Selector + " position x: " + x + "y: " + y);

            // Execute
            if (!IsInDryRunMode)
            {
                _actionSyntaxProvider.Hover(element, x, y);
            }

            // After
            return(this);
        }
コード例 #14
0
        public IAssertSyntaxProvider On(ElementProxy elements)
        {
            // Before
            _logger.LogPartialMessage(" on element with selector: " + elements.Element.Selector, true);

            // Execute
            if (!IsInDryRunMode)
            {
                _assertCssPropertySyntaxProvider.On(elements);
            }

            // After
            return(_assertSyntaxProvider);
        }
コード例 #15
0
        public IAssertSyntaxProvider Visible(ElementProxy element)
        {
            // Before
            _logger.LogPartialMessage("element with selector: " + element.Element.Selector + " to be visible", true);

            // Execute
            if (!IsInDryRunMode)
            {
                _assertSyntaxProvider.Visible(element);
            }

            // After
            return(this);
        }
コード例 #16
0
        public void SelectValue(ElementProxy element, string optionValue)
        {
            this.Act(CommandType.Action, () =>
            {
                var unwrappedElement = element.Element as Element;

                SelectElement selectElement = new SelectElement(unwrappedElement.WebElement);
                if (selectElement.IsMultiple)
                {
                    selectElement.DeselectAll();
                }
                selectElement.SelectByValue(optionValue);
            });
        }
コード例 #17
0
        private ElementHasTextResult elementHasText(ElementProxy element, Func <string, bool> textMatcher)
        {
            var hasText          = false;
            var unwrappedElement = element.Element;
            var actualText       = unwrappedElement.Text;

            if (unwrappedElement.IsSelect)
            {
                foreach (var optionText in unwrappedElement.SelectedOptionTextCollection)
                {
                    if (textMatcher(optionText))
                    {
                        hasText = true;
                        break;
                    }
                }

                actualText = string.Join(", ", unwrappedElement.SelectedOptionTextCollection.Select(x => x).ToArray());
            }
            else
            {
                if (textMatcher(unwrappedElement.Text))
                {
                    hasText = true;
                }
            }

            var elementType = "DOM Element";

            if (unwrappedElement.IsText)
            {
                elementType = "TextElement";
            }
            else if (unwrappedElement.IsMultipleSelect)
            {
                elementType = "MultipleSelectElement";
            }
            else if (unwrappedElement.IsSelect)
            {
                elementType = "SelectElement";
            }

            return(new ElementHasTextResult
            {
                HasText = hasText,
                ActualText = actualText,
                ElementType = elementType,
                Selector = element.Element.Selector
            });
        }
コード例 #18
0
 public void CssPropertyValue(ElementProxy element, string propertyName, Action <bool, string> action)
 {
     this.Act(CommandType.Action, () =>
     {
         var propertyValue = ((IJavaScriptExecutor)this._webDriver).ExecuteScript(string.Format("return fluentjQuery(\"{0}\").css(\"{1}\")", element.Element.Selector, propertyName));
         if (propertyValue == null)
         {
             action(false, string.Empty);
         }
         else
         {
             action(true, propertyValue.ToString());
         }
     });
 }
コード例 #19
0
        public void CssPropertyValue(ElementProxy element, string propertyName, Action <bool, string> action)
        {
            this.Act(CommandType.Action, () =>
            {
                var el = (element.Element as Element).AutomationElement;
                object cssPropertyValue = null;
                try
                {
                    cssPropertyValue = bool.Parse(this.ActiveDomContainer.Eval(string.Format("jQuery({0}).css('{1}');", el.GetJavascriptElementReference(), propertyName)));
                }
                catch (JavaScriptException) { }

                action(cssPropertyValue != null, cssPropertyValue.ToString());
            });
        }
コード例 #20
0
 public void NotAttribute(ElementProxy element, string attributeName, string attributeValue)
 {
     this.commandProvider.Act(commandType, () =>
     {
         var result = element.Element.Attributes.Get(attributeName);
         if (attributeValue == null && result != null)
         {
             this.ReportError("Expected element [{0}] not to have attribute [{1}] but it did.", element.Element.Selector, attributeName);
         }
         else if (result != null && IsTextMatch(result, attributeValue))
         {
             this.ReportError("Expected element [{0}]'s attribute [{1}] not to have a value of [{2}] but it did.", element.Element.Selector, attributeName, attributeValue);
         }
     });
 }
コード例 #21
0
 public void NotCssProperty(ElementProxy element, string propertyName, string propertyValue)
 {
     this.commandProvider.Act(commandType, () =>
     {
         var result = this.elementHasCssProperty(element, propertyName, propertyValue);
         if (propertyValue == null && result.HasProperty)
         {
             this.ReportError("Expected element [{0}] not to have CSS property [{1}] but it did.", element.Element.Selector, propertyName);
         }
         else if (result.PropertyMatches)
         {
             this.ReportError("Expected element [{0}]'s CSS property [{1}] not to have a value of [{2}] but it did.", element.Element.Selector, propertyName, propertyValue);
         }
     });
 }
コード例 #22
0
        public void DragAndDrop(ElementProxy source, int sourceOffsetX, int sourceOffsetY, ElementProxy target, int targetOffsetX, int targetOffsetY)
        {
            var sourceEl = source.Element as Element;
            var targetEl = target.Element as Element;

            var sourceX = sourceEl.PosX + sourceOffsetX;
            var sourceY = sourceEl.PosY + sourceOffsetY;
            var targetX = targetEl.PosX + targetOffsetX;
            var targetY = targetEl.PosY + targetOffsetY;

            MouseControl.SetPosition(sourceX, sourceY);
            MouseControl.MouseEvent(MouseControl.MouseEvent_LeftButtonDown, sourceX, sourceY, 0, 0);
            MouseControl.SetPosition(targetX, targetY);
            MouseControl.MouseEvent(MouseControl.MouseEvent_LeftButtonUp, targetX, targetY, 0, 0);
        }
コード例 #23
0
 public void MultiSelectIndex(ElementProxy element, int[] optionIndices)
 {
     this.Act(CommandType.Action, () =>
     {
         var el = element.Element as Element;
         if (el.IsSelect && el.IsMultipleSelect)
         {
             var sl = new WatiNCore.SelectList(this.ActiveDomContainer, el.AutomationElement.NativeElement);
             foreach (var i in optionIndices)
             {
                 sl.Options[i].Select();
                 fireOnChange(el.AutomationElement);
             }
         }
     });
 }
コード例 #24
0
        public IActionSyntaxProvider From(ElementProxy element)
        {
            // Before
            string selector = (element != null && element.Element != null) ? element.Element.Selector ?? "?" : "?";

            _logger.LogMessage("Perform selection in element with selector: {0}", selector);

            // Execute
            if (!IsInDryRunMode)
            {
                _selectSyntaxProvider.From(element);
            }

            // After
            return(_actionSyntaxProvider);
        }
コード例 #25
0
        private int CountElementsInProxy(ElementProxy elements)
        {
            int count = 0;

            foreach (var element in elements.Elements)
            {
                try
                {
                    element.Item2();
                    count++;
                }
                catch (Exception) { }
            }

            return(count);
        }
コード例 #26
0
        public IActionSyntaxProvider To(ElementProxy element)
        {
            // Before
            string selector = (element != null && element.Element != null) ? element.Element.Selector ?? "?" : "?";

            _logger.LogMessage("Append text to text in element with selector: {0}", selector);

            // Execute
            if (!IsInDryRunMode)
            {
                _textAppendSyntaxProvider.To(element);
            }

            // After
            return(_actionSyntaxProvider);
        }
コード例 #27
0
 public void MultiSelectText(ElementProxy element, string[] optionTextCollection)
 {
     this.Act(CommandType.Action, () =>
     {
         var el = element.Element as Element;
         if (el.IsSelect && el.IsMultipleSelect)
         {
             var sl = new WatiNCore.SelectList(this.ActiveDomContainer, el.AutomationElement.NativeElement);
             foreach (var text in optionTextCollection)
             {
                 sl.Select(text);
                 fireOnChange(el.AutomationElement);
             }
         }
     });
 }
コード例 #28
0
        private ElementHasValueResult elementHasValue(ElementProxy element, Func <string, bool> valueMatcher)
        {
            var hasValue         = false;
            var unwrappedElement = element.Element;

            if (unwrappedElement.IsMultipleSelect)
            {
                foreach (var optionValue in unwrappedElement.SelectedOptionValues)
                {
                    if (valueMatcher(optionValue))
                    {
                        hasValue = true;
                        break;
                    }
                }
            }
            else
            {
                if (valueMatcher(unwrappedElement.Value))
                {
                    hasValue = true;
                }
            }

            var elementType = "DOM Element";

            if (unwrappedElement.IsText)
            {
                elementType = "TextElement";
            }
            else if (unwrappedElement.IsMultipleSelect)
            {
                elementType = "MultipleSelectElement";
            }
            else if (unwrappedElement.IsSelect)
            {
                elementType = "SelectElement";
            }

            return(new ElementHasValueResult
            {
                HasValue = hasValue,
                ElementType = elementType,
                ActualValue = unwrappedElement.Value,
                Selector = element.Element.Selector
            });
        }
コード例 #29
0
 public void MultiSelectValue(ElementProxy element, string[] optionValues)
 {
     this.Act(CommandType.Action, () =>
     {
         var el = element.Element as Element;
         if (el.IsSelect && el.IsMultipleSelect)
         {
             new WatiNCore.SelectList(this.browser.Frame("").DomContainer, el.AutomationElement.NativeElement);
             var sl = new WatiNCore.SelectList(this.ActiveDomContainer, el.AutomationElement.NativeElement);
             foreach (var val in optionValues)
             {
                 sl.SelectByValue(val);
                 fireOnChange(el.AutomationElement);
             }
         }
     });
 }
コード例 #30
0
        public void MultiSelectIndex(ElementProxy element, int[] optionIndices)
        {
            this.Act(CommandType.Action, () =>
            {
                var unwrappedElement = element.Element as Element;

                SelectElement selectElement = new SelectElement(unwrappedElement.WebElement);
                if (selectElement.IsMultiple)
                {
                    selectElement.DeselectAll();
                }

                foreach (var optionIndex in optionIndices)
                {
                    selectElement.SelectByIndex(optionIndex);
                }
            });
        }
コード例 #31
0
            /// <summary>
            /// Enter text into specified <paramref name="element"/>.
            /// </summary>
            /// <param name="element">IElement factory function.</param>
            public IActionSyntaxProvider To(ElementProxy element)
            {
                if (!element.Element.IsText)
                {
                    throw new FluentException("Append().To() is only supported on text elements (input, textarea, etc).");
                }

                if (this.eventsEnabled)
                {
                    this.syntaxProvider.commandProvider.AppendText(element, text);
                }
                else
                {
                    this.syntaxProvider.commandProvider.AppendTextWithoutEvents(element, text);
                }

                return(this.syntaxProvider);
            }
コード例 #32
0
        public void MultiSelectText(ElementProxy element, string[] optionTextCollection)
        {
            this.Act(CommandType.Action, () =>
            {
                var unwrappedElement = element.Element as Element;

                SelectElement selectElement = new SelectElement(unwrappedElement.WebElement);
                if (selectElement.IsMultiple)
                {
                    selectElement.DeselectAll();
                }

                foreach (var optionText in optionTextCollection)
                {
                    selectElement.SelectByText(optionText);
                }
            });
        }
コード例 #33
0
            /// <summary>
            /// Specified <paramref name="element"/> that should have matching CSS class.
            /// </summary>
            /// <param name="element">IElement factory function.</param>
            public AssertSyntaxProvider On(ElementProxy element)
            {
                if (this.notMode)
                    this.assertProvider.NotAttribute(element, this.attributeName, this.attributeValue);
                else
                    this.assertProvider.Attribute(element, this.attributeName, this.attributeValue);

                return this.assertSyntaxProvider;
            }
コード例 #34
0
 public void CssClass(ElementProxy element, string className)
 {
     Parallel.ForEach(element.Elements, e =>
     {
         this.BuildAssertProvider(e.Item1).CssClass(new ElementProxy(e.Item1, e.Item2), className);
     });
 }
コード例 #35
0
 /// <summary>
 /// End Drag/Drop operation at specified <paramref name="targetElement"/>.
 /// </summary>
 /// <param name="targetElement">IElement factory function.</param>
 /// <param name="targetOffsetX">X-offset for drop.</param>
 /// <param name="targetOffsetY">Y-offset for drop.</param>
 public IActionSyntaxProvider To(ElementProxy targetElement, int targetOffsetX, int targetOffsetY)
 {
     this.syntaxProvider.commandProvider.DragAndDrop(this.sourceElement, offsetX, offsetY, targetElement, targetOffsetX, targetOffsetY);
     return this.syntaxProvider;
 }
コード例 #36
0
 public IActionSyntaxProvider RightClick(ElementProxy element)
 {
     this.commandProvider.RightClick(element);
     return this;
 }
コード例 #37
0
 public IActionSyntaxProvider Upload(ElementProxy element, string fileName)
 {
     return this.Upload(element, 0, 0, fileName);
 }
コード例 #38
0
 /// <summary>
 /// Assert the element specified does not exist.
 /// </summary>
 /// <param name="selector">Element reference.</param>
 public AssertSyntaxProvider Exists(ElementProxy element)
 {
     this.assertProvider.NotExists(element);
     return this.assertSyntaxProvider;
 }
コード例 #39
0
            /// <summary>
            /// Specified <paramref name="element"/> that should have matching CSS class.
            /// </summary>
            /// <param name="element">IElement factory function.</param>
            public AssertSyntaxProvider On(ElementProxy element)
            {
                if (this.notMode)
                    this.assertProvider.NotCssProperty(element, this.propertyName, this.propertyValue);
                else
                    this.assertProvider.CssProperty(element, this.propertyName, this.propertyValue);

                return this.assertSyntaxProvider;
            }
コード例 #40
0
 public void Text(ElementProxy element, string text)
 {
     Parallel.ForEach(element.Elements, e =>
     {
         this.BuildAssertProvider(e.Item1).Text(new ElementProxy(e.Item1, e.Item2), text);
     });
 }
コード例 #41
0
 public void NotExists(ElementProxy element)
 {
     Parallel.ForEach(this.providers, x => this.BuildAssertProvider(x.Key).NotExists(element));
 }
コード例 #42
0
 public void NotCssProperty(ElementProxy element, string propertyName, string propertyValue)
 {
     Parallel.ForEach(this.providers, x => this.BuildAssertProvider(x.Key).NotCssProperty(element, propertyName, propertyValue));
 }
コード例 #43
0
            /// <summary>
            /// Enter text into specified <paramref name="element"/>.
            /// </summary>
            /// <param name="element">IElement factory function.</param>
            public IActionSyntaxProvider In(ElementProxy element)
            {
                if (!element.Element.IsText)
                    throw new FluentException("Enter().In() is only supported on text elements (input, textarea, etc).");

                if (this.eventsEnabled)
                {
                    this.syntaxProvider.commandProvider.EnterText(element, text);
                }
                else
                {
                    this.syntaxProvider.commandProvider.EnterTextWithoutEvents(element, text);
                }

                return this.syntaxProvider;
            }
コード例 #44
0
 /// <summary>
 /// Switch focus to a previously selected frame/iframe
 /// </summary>
 /// <param name="frameElement"></param>
 /// <returns></returns>
 public IActionSyntaxProvider Frame(ElementProxy frameElement)
 {
     this.syntaxProvider.commandProvider.SwitchToFrame(frameElement);
     return this.syntaxProvider;
 }
コード例 #45
0
            /// <summary>
            /// Select from specified <paramref name="element"/>.
            /// </summary>
            /// <param name="element">IElement factory function.</param>
            public IActionSyntaxProvider From(ElementProxy element)
            {
                if (this.mode == SelectionOption.Value)
                {
                    if (this.value is string)
                    {
                        this.syntaxProvider.commandProvider.SelectValue(element, this.value);
                    }
                    else if (this.value is string[])
                    {
                        this.syntaxProvider.commandProvider.MultiSelectValue(element, this.value);
                    }
                }
                else if (this.mode == SelectionOption.Text)
                {
                    if (this.value is string)
                    {
                        this.syntaxProvider.commandProvider.SelectText(element, this.value);
                    }
                    else if (this.value is string[])
                    {
                        this.syntaxProvider.commandProvider.MultiSelectText(element, this.value);
                    }
                }
                else if (this.value is int)
                {
                    this.syntaxProvider.commandProvider.SelectIndex(element, this.value);
                }
                else if (this.value is int[])
                {
                    this.syntaxProvider.commandProvider.MultiSelectIndex(element, this.value);
                }

                return this.syntaxProvider;
            }
コード例 #46
0
            /// <summary>
            /// Specified <paramref name="element"/> that should have matching CSS class.
            /// </summary>
            /// <param name="element">IElement factory function.</param>
            public AssertSyntaxProvider On(ElementProxy element)
            {
                if (this.notMode)
                    this.assertProvider.NotCssClass(element, this.className);
                else
                    this.assertProvider.CssClass(element, this.className);

                return this.assertSyntaxProvider;
            }
コード例 #47
0
            /// <summary>
            /// Specified <paramref name="elements"/> to be counted.
            /// </summary>
            /// <param name="elements">IElement collection factory function.</param>
            public AssertSyntaxProvider Of(ElementProxy elements)
            {
                if (this.notMode)
                    this.assertProvider.NotCount(elements, count);
                else
                    this.assertProvider.Count(elements, this.count);

                return this.assertSyntaxProvider;
            }
コード例 #48
0
 public void Value(ElementProxy element, string value)
 {
     Parallel.ForEach(element.Elements, e =>
     {
         this.BuildAssertProvider(e.Item1).Value(new ElementProxy(e.Item1, e.Item2), value);
     });
 }
コード例 #49
0
            /// <summary>
            /// Specified <paramref name="element"/> that should have a matching Value.
            /// </summary>
            /// <param name="element"></param>
            public AssertSyntaxProvider In(ElementProxy element)
            {
                if (!string.IsNullOrEmpty(this.value))
                {
                    if (this.notMode)
                        this.assertProvider.NotValue(element, this.value);
                    else
                        this.assertProvider.Value(element, this.value);
                }
                else if (this.matchFunc != null)
                {
                    if (this.notMode)
                        this.assertProvider.NotValue(element, this.matchFunc);
                    else
                        this.assertProvider.Value(element, this.matchFunc);
                }

                return this.assertSyntaxProvider;
            }
コード例 #50
0
 public void Value(ElementProxy element, System.Linq.Expressions.Expression<Func<string, bool>> matchFunc)
 {
     Parallel.ForEach(element.Elements, e =>
     {
         this.BuildAssertProvider(e.Item1).Value(new ElementProxy(e.Item1, e.Item2), matchFunc);
     });
 }
コード例 #51
0
 /// <summary>
 /// Assert that the element is not visible and cannot be interacted with.
 /// </summary>
 /// <param name="selector"></param>
 public AssertSyntaxProvider Visible(ElementProxy element)
 {
     this.assertProvider.NotVisible(element);
     return this.assertSyntaxProvider;
 }
コード例 #52
0
 internal DragDropSyntaxProvider(ActionSyntaxProvider syntaxProvider, ElementProxy element)
 {
     this.syntaxProvider = syntaxProvider;
     this.sourceElement = element;
 }
コード例 #53
0
 public IActionSyntaxProvider Scroll(ElementProxy element)
 {
     this.commandProvider.Hover(element);
     return this;
 }
コード例 #54
0
 /// <summary>
 /// End Drag/Drop operation at specified <paramref name="targetElement"/>.
 /// </summary>
 /// <param name="targetElement">IElement factory function.</param>
 /// <param name="targetOffsetX">X-offset for drop.</param>
 /// <param name="targetOffsetY">Y-offset for drop.</param>
 public void To(ElementProxy targetElement, int targetOffsetX, int targetOffsetY)
 {
     this.syntaxProvider.commandProvider.DragAndDrop(this.syntaxProvider.commandProvider.Find("html"), this.sourceX, this.sourceY, targetElement, targetOffsetX, targetOffsetY);
 }
コード例 #55
0
 public void Visible(ElementProxy element)
 {
     Parallel.ForEach(this.providers, x => this.BuildAssertProvider(x.Key).Visible(element));
 }
コード例 #56
0
 internal DragDropSyntaxProvider(ActionSyntaxProvider syntaxProvider, ElementProxy element, int offsetX, int offsetY)
 {
     this.syntaxProvider = syntaxProvider;
     this.sourceElement = element;
     this.offsetX = offsetX;
     this.offsetY = offsetY;
 }
コード例 #57
0
 public void Attribute(ElementProxy element, string attributeName, string attributeValue)
 {
     Parallel.ForEach(this.providers, x => this.BuildAssertProvider(x.Key).Attribute(element, attributeName, attributeValue));
 }
コード例 #58
0
 public IActionSyntaxProvider Upload(ElementProxy element, int x, int y, string fileName)
 {
     this.commandProvider.UploadFile(element, x, y, fileName);
     return this;
 }
コード例 #59
0
            /// <summary>
            /// End Drag/Drop operation at specified <paramref name="targetElement"/>.
            /// </summary>
            /// <param name="targetElement">IElement factory function.</param>
            public IActionSyntaxProvider To(ElementProxy targetElement)
            {
                if (this.offsetX != 0 || this.offsetY != 0)
                {
                    this.syntaxProvider.commandProvider.DragAndDrop(this.sourceElement, offsetX, offsetY, targetElement, 0, 0);
                }
                else
                {
                    this.syntaxProvider.commandProvider.DragAndDrop(this.sourceElement, targetElement);
                }

                return this.syntaxProvider;
            }
コード例 #60
0
 /// <summary>
 /// End Drag/Drop operation at specified <paramref name="targetElement"/>.
 /// </summary>
 /// <param name="targetElement">IElement factory function.</param>
 public void To(ElementProxy targetElement)
 {
     this.syntaxProvider.commandProvider.DragAndDrop(this.syntaxProvider.commandProvider.Find("html"), this.sourceX, this.sourceY, targetElement, 0, 0);
 }