將常用函數進行適用總結,后期在使用的過程中直接查找調用即可
獲取界面屬性、控件屬性
1、current_activity:獲取activity名稱
device.current_activity
2、get_window_size():獲取手機屏幕寬、高
device.get_window_size()
3、tag_name:獲取控件的class
device.find_element_by_name(u"菜單").tag_name
4、text:獲取控件的text
device.find_element_by_id(u"com.android.mms:id/action_compose_new").text
5、get_attribute:獲取控件的給定屬性或屬性
device.find_element_by_id("com.android.mms:id/action_compose_new").get_attribute("enabled")
注意點:1、checkable、checked、clickable、enabled、focusable、focused、scollable、long-clickable、password、selected,返回的是布爾值,True或False
2、.get_attribute("name") 返回的是‘content_desc’的值
3、.get_attribute("className") 返回的是‘class’的值
6、is_displayed:判斷該控件是否對用戶可見
device.find_element_by_id("com.android.mms:id/action_compose_new").is_displayed() 返回True或False
7、size:獲取控件的大小
device.find_element_by_id("com.android.mms:id/action_compose_new").size
8、location:獲取控件的位置
device.find_element_by_id("com.android.mms:id/action_compose_new").location
9、current_context:返回當前會話的當前上下文
device.current_context
10、context:返回當前會話的當前上下文
device.context
11、scroll:從元素origin_el滾動至元素destination_el
'''說明:scroll為橫滾動,並且元素不能再同一頁面上'''
device.scroll(self.device.find_element_by_name(u"分類文件"), self.device.find_element_by_name(u"本地"))
12、drag_and_drop:將元素origin_el拖到目標元素destination_el
device.drag_and_drop(self.device.find_element_by_name(u"主題"), self.device.find_element_by_name(u"QQ音樂"))
13、tap:模擬手指點擊
'''說明:模擬手指點擊(最多五個手指),可設置按住時間長度(毫秒),用法:driver.tap([(x,y),(x1,y1)],500)'''
device.tap([(218,687),])
14、swipe:從A點滑動至B點,滑動時間為毫秒
device.swipe(418,1067,410,328)
15、flick:按住A點后快速滑動至B點
device.flick(502,955,486,407)
16、pinch:在元素上執行模擬雙指捏(縮小操作)
device.pinch(self.device.find_element_by_name(u"相機"),300)
17、zoom:在元素上執行放大操作
device.zoom(self.device.find_element_by_id("id"))
18、press_keycode:發送按鍵碼(安卓僅有),按鍵碼網上搜
device.press_keycode(3)
19、long_press_keycode:發送一個長按的按鍵碼(長按某鍵)
device.long_press_keycode(3)
20、is_app_installed:檢查app是否已安裝
device.is_app_installed("com.android.xxx")
21、install_app:安裝app
device.install_app(app_path)
22、remove_app:刪除app
device.remove_app(app_path)
23、close_app:關掉app
device.close_app ()
24、clear:如果是文本輸入元素,就清除文本
element.clear()
25、network_connection:返回網絡的連接類型
'''返回一個指定網絡連接類型的整數位掩碼(android)'''
device.network_connection
26、set_network_connection(connectionType):設置網絡的連接(android)
''' Possible values:
Value (Alias) | Data | Wifi | Airplane Mode
-------------------------------------------------
0 (None) | 0 | 0 | 0
1 (Airplane Mode) | 0 | 0 | 1
2 (Wifi only) | 0 | 1 | 0
4 (Data only) | 1 | 0 | 0
6 (All network on) | 1 | 1 | 0 '''
device.set_network_connection(2)
27、available_ime_engines:返回android設備可用的輸入法
device.available_ime_engines
28、is_ime_active():檢查設備是否有輸入法服務活動,返回真/假。
device.is_ime_active()
還有剩余查找元素等的API都比較簡單,可在appium的底層進行查看,以上的所有都可以在appium的底層所查找到