Пример #1
0
        // Get child element from parent element based on selector
        public static AndroidElement GetChildElement(AndroidElement parent, SelectBy by, string selector)
        {
            AndroidElement e = null;

            switch (by)
            {
            case SelectBy.ID:
                e = (AndroidElement)parent.FindElementById(selector);
                break;

            case SelectBy.Class:
                e = (AndroidElement)parent.FindElementByClassName(selector);
                break;

            case SelectBy.XPath:
                e = (AndroidElement)parent.FindElementByXPath(selector);
                break;

            case SelectBy.ExactText:
                e = (AndroidElement)parent.FindElementByAndroidUIAutomator(String.Format("new UiSelector().text(\"{0}\")", selector));
                break;

            case SelectBy.ContainsText:
                e = (AndroidElement)parent.FindElementByAndroidUIAutomator(String.Format("new UiSelector().textContains(\"{0}\")", selector));
                break;

            case SelectBy.RegexText:
                e = (AndroidElement)parent.FindElementByAndroidUIAutomator(String.Format("new UiSelector().textMatches(\"{0}\")", selector));
                break;
            }
            return(e ?? throw new NotFoundException("Child with selector " + selector + " not found."));
        }
Пример #2
0
        private string GetListPersonElementText(AndroidAppAccess appAccess, AndroidElement listLElement)
        {
            try
            {
                StringBuilder    textBuilder  = new StringBuilder();
                AppiumWebElement nameLElement = listLElement.FindElementByClassName("android.widget.LinearLayout");
                if (nameLElement != null)
                {
                    AppiumWebElement nameElement = nameLElement.FindElementByClassName("android.widget.TextView");
                    if (nameElement != null)
                    {
                        ReadOnlyCollection <AppiumWebElement> propertyElements = listLElement.FindElementsByClassName("android.widget.TextView");
                        for (int i = 0; i < propertyElements.Count; i++)
                        {
                            textBuilder.AppendLine();
                            textBuilder.Append(propertyElements[i].Text.Trim());
                        }
                        return(textBuilder.ToString());
                    }
                }

                return(null);
            }
            catch (Exception ex)
            {
                //总是莫名其妙报错
                return(null);
            }
        }
Пример #3
0
        private string GetNameByListPersonElement(AndroidAppAccess appAccess, AndroidElement listLElement)
        {
            AppiumWebElement nameElement = listLElement.FindElementByClassName("android.widget.LinearLayout").FindElementByClassName("android.widget.TextView");

            return(nameElement == null ? null : nameElement.Text);
        }