?????????????UI????????????????????????????????????????
??????????????????????婊�???????????????????????????????些????????????????写????????????
?????????位????????????????????
??????????????????????????????????????????
??????????????????????????????????????????????????????????
?????????????????????????????????????????????械?????????????????渭??
????????????????????锟�?
????????????????
????????????????????????
??????????????????械????????????
???????????????????????伞?
????????????????????????????????????????????????????????????????????????械??????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????
???????????位????????????????????????????????
??????????????????校??????????????????????????????????魏???????
????????????????????????????????????????械?uiautomatorviewer??????
??????appium???位????????????些???????????????????????????????????婕�????????????????webdriver??appium??DSL??????????????????锌???????????????位??
?????????webdriver???????????????3???????????位???
????find by "class" (i.e.?? ui component type??andorid???????android.widget.TextView)
????find by "xpath" (i.e.?? an abstract representation of a path to an element?? with certain constraints??????appium??xpath??????????????????)
????find by "id"(android????????resource id)
??????Mobile JSON Wire Protocol 协???卸??????????????????璞�???????位
????-ios uiautomation: a string corresponding to a recursive element search using the UIAutomation library (iOS-only)
????-android uiautomator: a string corresponding to a recursive element search using the UiAutomator Api (Android-only)
????accessibility id: a string corresponding to a recursive element search using the Id/Name that the native Accessibility options utilize.
??????appium ??client??Mobile JSON Wire Protocol?卸??????????????????????????????????
????ruby?
????find_element :accessibility_id?? 'Animation'
????find_elements :accessibility_id?? 'Animation'
????find_element :uiautomator?? 'new UiSelector().clickable(true)'
????find_elements :uiautomator?? 'new UiSelector().clickable(true)'
?????????????????????????webdriver????
????find_element id: 'resource_id'
????????ruby lib???????些?????????????????锌?????位????写???????
????text(value_or_index) :Find the first TextView that contains value or by index. If int then the TextView at that index is returned.
????button(value_or_index):Find the first button that contains value or by index. If int then the button at that index is returned
??????????????
????python?
???????????
????el = self.driver.find_element_by_android_uiautomator('new UiSelector().description("Animation")')
????self.assertIsNotNone(el)
????els = self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(true)')
????self.assertIsInstance(els?? list)
????el = self.driver.find_element_by_accessibility_id('Animation')
????self.assertIsNotNone(el)
????els = self.driver.find_elements_by_accessibility_id('Animation')
????self.assertIsInstance(els?? list)
???????????
??????????????driver????????
????find_element_by_accessibility_id
????find_elements_by_accessibility_id
????find_element_by_android_uiautomator
????find_element_by_android_uiautomator
?????????
????java?
???????????????????????些????
????findElementByAccessibilityId()
????findElementsByAccessibilityId()
????findElementByIosUIAutomation()
????findElementsByIosUIAutomation()
????findElementByAndroidUIAutomator()
????findElementsByAndroidUIAutomator()
?????????????????????????python ?? java client???????????位??????????????ruby lib?蟹???????????????????????????????ruby lib??????python??java?????????????????????????