Selendroid: Testing native Apps |
您所在的位置:网站首页 › Selendroid与uiautomatin › Selendroid: Testing native Apps |
Interacting with Native Elements
Demo Video
Switch to the native context
Ruby:
driver.switch_to.window('NATIVE_APP')
Java:
driver.switchTo().window("NATIVE_APP");
When a selendroid test session is started, by default the native mode is activated. Supported Element Locators Id Finds the element by Id. name Finds the element by content description (accessibility label). link text Finds the element by text. partial link text Finds the element by partial text. class Finds the element by full class name (e.g. android.widget.Button). xpath Finds the element by a xpath expression. tag name Finds the element by tag name. Native locator examplesSample app view hierarchy in the inspector: By IdMeans the id that is described in the layout xml file of the corresponding activity. Ruby: driver.find_element(:id,'buttonTest') Java: driver.findElement(By.id("buttonTest")); By NameIs mapped to the accessibility label (content description) of the view element. Ruby: driver.find_element(:name,'buttonTestCD') Java: driver.findElement(By.name("buttonTestCD")); By Link textMapped to the displayed text of the element. Ruby: driver.find_element(:link_text,'EN Button') Java: driver.findElement(By.linkText("EN Button")); By Partial Link TextMapped to the displayed text of the element. Ruby: driver.find_element(:partial_link_text,'EN Butto') Java: driver.findElement(By.partialLinkText("EN Butto")); By ClassMapped to the ui element class of the view. Ruby: driver.find_element(:class_name,'android.widget.Button') Java: driver.findElement(By.className("android.widget.Button")); By Tag NameMapped to the simple name of the ui element class of the view. Ruby: driver.find_element(:tag_name,'Button') Java: driver.findElement(By.tagName("Button")); By XPathXPath is the language used for locating nodes in an XML document. XPath extends beyond (as well as supporting) the simple methods of locating by id or name attributes, and opens up all sorts of new possibilities such as locating the third Button on the activity. Ruby: driver.find_element(:xpath,"//Button[@id='buttonTest']") Java: driver.findElement(By.xpath("//Button[@id='buttonTest']")); Supported Element Interactions Get Text Click Send Keys Get Attribute of Element Clear Is Selected Is Displayed Is Enabled Get Size Get Location Interacting with the App using special keysSelendroid offers you to interact with the app using some special keys e.g. like the Android menu button. Ruby: driver.keyboard.send_keys("\uE102") Java: /* When using SelendroidDriver */ new Actions(driver).sendKeys(SelendroidKeys.MENU).perform(); Python: from selenium.webdriver.common.action_chains import ActionChains; """ Instantiate the driver like: driver = driver=webdriver.Remote( ... ); """ chain = ActionChains(driver); """ Send search key""" chain.send_keys(u'\ue103').perform(); Overview about available keysThe original list is documented in the interface: SelendroidKeys KEY Unicode Character ALT_LEFT \uE00A DEL \uE017 DPAD_DOWN \uE017 DPAD_LEFT \uE012 DPAD_RIGHT \uE014 DPAD_UP \uE013 ENTER \uE007 SHIFT_LEFT \uE008 BACK \uE100 ANDROID_HOME \uE101 MENU \uE102 SEARCH \uE103 SYM \uE104 ALT_RIGHT \uE105 SHIFT_RIGHT \uE106 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |