Пример #1
0
        public void TestUpdateLocatorsWhenNullDoesNotUpdateLocators()
        {
            var element = new WebElement(null);
            element.UpdateLocators(null);

            Assert.AreEqual(0, element.Locators.Count);
        }
Пример #2
0
 internal TableElement(RemoteSession session, WebElement element) {
     _session = session;
     _element = element;
     var tag = _element.TagName.ToLowerInvariant();
     if ("table" != tag && "tbody" != tag)
         throw new Errors.UnexpectedTagNameError("table,tbody", tag);
 }
Пример #3
0
 internal WebElements(RemoteSession session, List rawElements)
     : base(rawElements.Count) {
     _count = _items.Length;
     for (int i = 0; i < _count; i++) {
         _items[i] = new WebElement(session, (Dictionary)rawElements[i]);
     }
 }
Пример #4
0
		//
		// This method is invoked when the application has loaded and is ready to run. In this
		// method you should instantiate the window, load the UI into it and then make the window
		// visible.
		//
		// You have 17 seconds to return from this method, or iOS will terminate your application.
		//
		public override bool FinishedLaunching (UIApplication app, NSDictionary options)
		{
			// create a new window instance based on the screen size
			window = new UIWindow (UIScreen.MainScreen.Bounds);

			var web = new WebElement ();
			web.HtmlFile = "instructions";

			var root = new RootElement ("Kannada Keyboard") {
				new Section{
					new UIViewElement("Instruction", web.View, false)
				}
			};
		
			var dv = new DialogViewController (root) {
				Autorotate = true
			};
			var navigation = new UINavigationController ();
			navigation.PushViewController (dv, true);				

			window = new UIWindow (UIScreen.MainScreen.Bounds);
			window.MakeKeyAndVisible ();
			window.AddSubview (navigation.View);
			
			return true;
		}
Пример #5
0
 internal SelectElement(WebElement element) {
     string tag = element.TagName.ToLowerInvariant();
     if ("select" != tag)
         throw new Errors.UnexpectedTagNameError("select", tag);
     _element = element;
     object attribute = element.Attribute("multiple");
     this.IsMultiple = attribute != null && attribute.ToString().ToLowerInvariant() != "false";
 }
Пример #6
0
 internal void Add(RemoteSession session, List rawElements) {
     int count = rawElements.Count;
     int size = _count + count;
     if (size > _items.Length)
         IncreaseSize(size);
     for (int i = 0; i < count; i++) {
         _items[_count++] = new WebElement(session, (Dictionary)rawElements[i]);
     }
 }
Пример #7
0
        public void TestUpdateLocatorsWhenExistsUpdatesLocators()
        {
            var locator = By.Id("id1");
            var element = new WebElement(null);
            element.UpdateLocators(new[] { locator });

            Assert.AreEqual(1, element.Locators.Count);
            Assert.AreEqual(locator, element.Locators.First());
        }
Пример #8
0
        public void FindElement()
        {
            var htmlNode = new HtmlNodeBuilder("<html><body><div id=\"page-body\">Hello world</div></body></html>").Build();

            var document = new WebElement(htmlNode, null);
            var div = document.FindElement(By.Id("page-body"));

            Assert.That(div.TagName, Is.EqualTo("div"));
            Assert.That(div.Text, Is.EqualTo("Hello world"));
        }
Пример #9
0
        public void TestCloneNativeElementBypassesLocators()
        {
            var mockElement = new Mock<IWebElement>(MockBehavior.Strict);

            var element = new WebElement(null);
            element.CloneNativeElement(mockElement.Object);

            Assert.IsTrue(element.Cache);

            mockElement.VerifyAll();
        }
Пример #10
0
 /// <summary>
 /// Move the mouse by an offset of the specificed element.
 /// </summary>
 /// <param name="element">Opaque ID assigned to the element to move to, as described in the WebElement JSON Object. If not specified or is null, the offset is relative to current position of the mouse.</param>
 /// <param name="xoffset">{number} X offset to move to, relative to the top-left corner of the element. If not specified, the mouse will move to the middle of the element.</param>
 /// <param name="yoffset"> {number} Y offset to move to, relative to the top-left corner of the element. If not specified, the mouse will move to the middle of the element.</param>
 public Mouse MoveTo(WebElement element, int xoffset = 0, int yoffset = 0) {
     var data = new Dictionary();
     if (element != null)
         data.Add("element", element.Id);
     if (xoffset != 0)
         data.Add("xoffset", xoffset);
     if (yoffset != 0)
         data.Add("yoffset", yoffset);
     _session.Send(RequestMethod.POST, "/moveto", data);
     return this;
 }
Пример #11
0
        public void ClickShouldFollowHrefs()
        {
            var nav = new Mock<INavigation>();

            var htmlNode = new HtmlNodeBuilder("<a href=\"http://www.google.com\">google</a>").Build();

            var webElement = new WebElement(htmlNode, nav.Object);
            webElement.Click();

            nav.Verify( x => x.GoToUrl(htmlNode.Attributes["href"].Value), Times.Once(), "Click() should cause INavigator to go to the url.");
        }
Пример #12
0
 /// <summary>
 /// Waits for page to load by validating that a Ranorex.WebElement exists.
 /// </summary>
 /// <param name="webElement">The Ranorex.Webelement to validate</param></param>
 protected void WaitForLoad(WebElement webElement)
 {
     try
     {
         Validate.Exists(webElement);
     }
     catch (Ranorex.ValidationException e)
     {
         throw new Exception(String.Format("Failed to wait for page to load since failed to validate existence of {0}.", webElement.GetPath().ToString()), e);
     }
 }
Пример #13
0
        public void ClickShouldBeIgnoredWhenNotApplicable()
        {
            var nav = new Mock<INavigation>();

            var htmlNode = new HtmlNodeBuilder("<div>This is not a link</div>").Build();

            var webElement = new WebElement(htmlNode, nav.Object);
            webElement.Click();

            nav.Verify(x => x.GoToUrl(It.IsAny<string>()), Times.Never(),
                "Click should not do anything when not applied to a link.");
        }
Пример #14
0
        public void FindElements()
        {
            var htmlNode = new HtmlNodeBuilder("<html><body>" +
                                           "<ul><li class=\"nav-item\">Item 1</li><li class=\"nav-item\">Item 2</li></ul>" +
                                           "</body></html>").Build();

            var document = new WebElement(htmlNode, null);
            var list = document.FindElements(By.ClassName("nav-item"));

            Assert.That(list.Count, Is.EqualTo(2));
            Assert.That(list[0].TagName, Is.EqualTo("li"));
            Assert.That(list[1].TagName, Is.EqualTo("li"));
        }
Пример #15
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

			var content = System.IO.File.ReadAllText("WebCell/body.html", System.Text.Encoding.UTF8);
			_descriptionElement = new WebElement(content);
			_descriptionElement.UrlRequested = ViewModel.GoToUrlCommand.Execute;

			var content2 = System.IO.File.ReadAllText("WebCell/comments.html", System.Text.Encoding.UTF8);
			_commentsElement = new WebElement2(content2);
			_commentsElement.UrlRequested = ViewModel.GoToUrlCommand.Execute;

			NavigationItem.RightBarButtonItem = new UIBarButtonItem(UIBarButtonSystemItem.Compose, (s, e) => ViewModel.GoToEditCommand.Execute(null));
            NavigationItem.RightBarButtonItem.Enabled = false;
            ViewModel.Bind(x => x.Issue, RenderIssue);
            ViewModel.BindCollection(x => x.Comments, (e) => RenderComments());
        }
Пример #16
0
        public void GetAttribute()
        {
            var htmlNode = new HtmlNodeBuilder("<a href=\"http://www.google.com\">Google</a>").Build();

            var element = new WebElement(htmlNode, null);

            Assert.That(element.GetAttribute("href"), Is.EqualTo("http://www.google.com"));
        }
Пример #17
0
        public string ValidMassage()
        {
            WebElement error = new WebElement().ByXPath("//div[@id='distributionBalance:sumInputMsg']//span[@class='ui-message-error-detail']");

            return(error.Text);
        }
Пример #18
0
 private void act_mouse_release(WebElement element) {
     if (element != null)
         _mouse.moveTo(element);
     _mouse.Release();
     _isMouseDown = false;
 }
 public void Load(string html)
 {
     _document = _builder.FromHtml(html);
     Document = MapDoc(_document);
 }
Пример #20
0
 /// <summary>
 /// Clicks an element.
 /// </summary>
 /// <param name="element">The element to click. If None, clicks on current mouse position.</param>
 /// <returns>Self</returns>
 public Actions Click(WebElement element = null) {
     _actions.Add(() => act_click(element));
     return this;
 }
Пример #21
0
 private void act_mouse_press(WebElement element) {
     if (element != null)
         _mouse.moveTo(element);
     _mouse.ClickAndHold();
     _isMouseDown = true;
 }
Пример #22
0
        public void Text()
        {
            var htmlNode = new HtmlNodeBuilder("<div>\r\nHello World        \r\n</div>").Build();

            var element = new WebElement(htmlNode, null);
            var textInAnElement = element.Text;

            Assert.That(textInAnElement, Is.EqualTo("Hello World"));
        }
Пример #23
0
 /// <summary>
 /// Scroll on the touch screen using finger based motion events.
 /// </summary>
 /// <param name="element">ID of the element where the scroll starts.</param>
 /// <param name="xoffset">{number} The x offset in pixels to scrollby.</param>
 /// <param name="yoffset">{number} The y offset in pixels to scrollby</param>
 public TouchScreen ScrollFrom(WebElement element, int xoffset, int yoffset) {
     _session.Send(RequestMethod.POST, _baseUri + "/scroll", "element", element.Id, "xoffset", xoffset, "yoffset", yoffset);
     return this;
 }
Пример #24
0
 /// <summary>
 /// Flick on the touch screen using finger motion events.
 /// </summary>
 /// <param name="element">ID of the element where the flick starts.</param>
 /// <param name="xoffset">{number} The x offset in pixels to flick by.</param>
 /// <param name="yoffset">{number} The y offset in pixels to flick by.</param>
 /// <param name="speed">{number} The speed in pixels per seconds.</param>
 public TouchScreen FlickFrom(WebElement element, int xoffset, int yoffset, int speed) {
     _session.Send(RequestMethod.POST, _baseUri + "/flick", "element", element.Id, "xoffset", xoffset, "yoffset", yoffset, "speed", speed);
     return this;
 }
Пример #25
0
 private void act_send_keys(string keys, WebElement element) {
     if (element != null) {
         act_mouse_mouve(element);
         act_mouse_click();
     }
     act_send_keys(keys);
 }
Пример #26
0
        public string ConstructionPage()
        {//Равномерное
            EvenlyWE       = new WebElement().ByXPath("//*[text()='Равномерное']");
            DifferentSumWE = new WebElement().ByXPath("//*[text()='Одна сумма для всех']");
            OneSumToAllWE  = new WebElement().ByXPath("//*[text()='Различные суммы']");

            DistributionWE = new WebElement().ByXPath("//a/span[contains(text(),'Распределить баланс')]");
            SaveTemplateWE = new WebElement().ByXPath("//a/span[contains(text(),'Сохранить шаблон распределения')]");
            CancelWE       = new WebElement().ByXPath("//a/span[contains(text(),'Отменить распределение')]");

            RepeatDistributionWE  = new WebElement().ByXPath("//div[contains(@id,'repeatCheckBox')]");
            FinishSumPanelWE      = new WebElement().ByXPath("//div[contains(@id,'finishSumPanel')]");
            DistributionBalanceWE = new WebElement().ByXPath("//*[@id='distributionBalance']/div[1]/div[2]/div/span");
            AbonentsListWE        = new WebElement().ByXPath("//tbody[@id='distributionBalance:abonents_data']");
            EvenlySumInputWE      = new WebElement().ByXPath("//input[contains(@id,'distributionBalance') and contains(@id,'umInput')]");
            ContractInfo          = new WebElement().ByXPath("//*[@id='distributionBalance']/div[1]/div[2]");//*[@id="distributionBalance"]/div[1]/div[2]/text()
            BackMCP = new WebElement().ByXPath("//*[@id='distributionBalance']/div[4]/div[2]/a");

            if (!EvenlyWE.Displayed)
            {
                return("Не отображены элементы интерфейса: ссылка Равномерное");
            }
            if (!DifferentSumWE.Displayed)
            {
                return("Не отображены элементы интерфейса: ссылка Одна сумма на всех");
            }
            if (!OneSumToAllWE.Displayed)
            {
                return("Не отображены элементы интерфейса: ссылка Различные суммы");
            }

            if (!DistributionWE.Displayed)
            {
                return("Не отображены элементы интерфейса: кнопка Распределить баланс");
            }
            if (!SaveTemplateWE.Displayed)
            {
                return("Не отображены элементы интерфейса: список Сохранить шаблон");
            }
            if (!CancelWE.Displayed)
            {
                return("Не отображены элементы интерфейса: ссылка Отменить распределение");
            }
            if (!RepeatDistributionWE.Displayed)
            {
                return("Не отображены элементы интерфейса: чекбокс Повторять распределение");
            }
            if (!FinishSumPanelWE.Displayed)
            {
                return("Не отображены элементы интерфейса: Итоговая сумма");
            }

            if (!DistributionBalanceWE.Displayed)
            {
                return("Не отображены элементы интерфейса: Баланс");
            }
            if (!AbonentsListWE.Displayed)
            {
                return("Не отображены элементы интерфейса: Список абонентов");
            }
            if (!EvenlySumInputWE.Displayed)
            {
                return("Не отображены элементы интерфейса: Поле ввода суммы распределения");
            }
            if (!ContractInfo.Displayed)
            {
                return("Не отображены элементы интерфейса: Информация о договоре");
            }
            if (!BackMCP.Displayed)
            {
                return("Не отображены элементы интерфейса: ссылка Назад к выбору абонентов");
            }

            return("success");
        }
Пример #27
0
 /// <summary>
 /// Move the mouse to the specificed element.
 /// </summary>
 /// <param name="element">Opaque ID assigned to the element to move to, as described in the WebElement JSON Object. If not specified or is null, the offset is relative to current position of the mouse.</param>
 public Mouse moveTo(WebElement element) {
     _session.Send(RequestMethod.POST, "/moveto", "element", element.Id);
     return this;
 }
Пример #28
0
 /// <summary>
 /// Single tap on the touch enabled device.
 /// </summary>
 /// <param name="element">ID of the element to single tap on.</param>
 public TouchScreen Tap(WebElement element) {
     _session.Send(RequestMethod.POST, _baseUri + "/click", "element", element.Id);
     return this;
 }
Пример #29
0
        public void TagName()
        {
            var htmlNode = new HtmlNodeBuilder("<div>Hello DIV Tag</div>").Build();

            var element = new WebElement(htmlNode, null);

            Assert.That(element.TagName, Is.EqualTo("div"));
        }
        private static WebElement Map(IElement node)
        {
            if (node == null)
                return null;

            var el = new WebElement(value => node.SetAttribute("value", value))
            {
                Attributes = node.Attributes.ToDictionary(x => x.Name, y => y.Value),
                TagName = node.TagName,
                Text = node.TextContent,
                InnerHtml = node.InnerHtml,
                OuterHtml = node.OuterHtml
            };

            el.OnQuerySelector(query => Map(node.QuerySelector(query)));
            el.OnQuerySelectorAll(query => node.QuerySelectorAll(query).Select(Map));

            return el;
        }
Пример #31
0
 private void act_mouse_mouve(WebElement element) {
     if (element != null)
         _mouse.moveTo(element);
 }
Пример #32
0
 private static void UnsetSelected(WebElement option) {
     if (option.IsSelected)
         option.Click();
 }
Пример #33
0
 public static IWebElement FindElementFromHere(this WebElement element, By locator)
 {
     return(FindElementFromHere(element.Container.Element, locator));
 }