Пример #1
0
        // Get list of child elements based on selector from parent and return element in index
        public static AndroidElement GetChildElementFromList(AndroidElement parent, SelectBy by, string selector, int index)
        {
            AndroidElement e = null;

            switch (by)
            {
            case SelectBy.ID:
                e = (AndroidElement)parent.FindElementsById(selector)[index];
                break;

            case SelectBy.Class:
                e = (AndroidElement)parent.FindElementsByClassName(selector)[index];
                break;

            case SelectBy.XPath:
                e = (AndroidElement)parent.FindElementsByXPath(selector)[index];
                break;

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

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

            case SelectBy.RegexText:
                e = (AndroidElement)parent.FindElementsByAndroidUIAutomator(String.Format("new UiSelector().textMatches(\"{0}\")", selector)).ElementAt(index);
                break;
            }
            return(e ?? throw new NotFoundException("Child with selector " + selector + " not found."));
        }
Пример #2
0
        public void FromElementTestCase()
        {
            AndroidDriver <IWebElement> driver = new AndroidDriver <IWebElement>(defaultUri, capabilities);

            server.respondTo("POST", "/element", new Dictionary <string, object>  {
                
                             {
                    "ELEMENT", '5'
                } 

            });
            AndroidElement element = (AndroidElement)driver.FindElementByAndroidUIAutomator(".elements()");

            server.clear();
            server.respondTo("POST", "/element/5/element", new Dictionary <string, object>  {
                
                           {
                    "ELEMENT", '6'
                } 

            });
            element.FindElementByAndroidUIAutomator(".elements()");
            server.clear();
            List <object> results = new List <object>();

            results.Add(new Dictionary <string, object> {
                { "ELEMENT", "4" }
            });
            server.respondTo("POST", "/element/5/elements", results);
            element.FindElementsByAndroidUIAutomator(".elements()");
        }