1. 程式人生 > >Appium移動端自動化:Api介面詳解

Appium移動端自動化:Api介面詳解

 

滑動操作與拖拽操作

# 滾動處理
# elementObj1 目標滾動元素,elementObj2 起始滾動元素
# 底層通過action操作,與web ui相反,origin_el為目標元素,destination_el為起始元素
# 通過模擬手勢可以看出 從下面的元素移動到上面的元素
# action.press(origin_el).move_to(destination_el).release().perform()
# web elementObj1為要移動的元素 elementObj2為移動到某個元素
# action.click(elementObj1).move_to_element(elementObj2).release().perform()
driver.scroll(elementObj1, elementObj2) #通過座標實現滑屏操作 # 從手機的左上角開始,橫座標為x軸,縱座標為y # 解析度不同,座標不相同,所以需要根據螢幕的大小做比例運算 driver.swipe(start_x, start_y, end_x, end_y,duration=None) # 拖拽 # elementObj1源元素,elementObj2目標元素 # 通過long_press實現 driver.drag_and_drop(elementObj1, elementObj2) # 多點觸控 模擬手指點選
# tap模擬按住座標多少秒,[(x,y)] 多個座標則寫多個元祖。引數2為按住多少秒。ms(毫秒)為單位 driver.tap([(x, y)], 5000)

 

# 通過座標實現滑屏操作----------------------------------------
size = driver.get_window_size()#檢視螢幕大小
# print(size)
width = size.get('width')
height = size.get('height')
y1 = height * 0.8#標記滑動起始位置
x1 = width * 0.5
y2 
= height * 0.2#標記滑動最終位置 x2 = width * 0.5 driver.swipe(x1,y1,x2,y2)

 

 

操作APP

# 返回是否安裝了對應包名的App True 或者 False
driver.is_app_installed('com.syqy.wecash')
 
# 關閉初始化資訊中的App
driver.close_app()
 
# 啟動初始化資訊中的App
driver.launch_app()
 
# 安裝app 引數為軟體的絕對路徑
driver.install_app(r'C:\Users\bjhouyafan\Desktop\tester\appUi\wecash.apk')
 
# 解除安裝app 引數接收appPackageName
driver.remove_app('com.syqy.wecash')
 
# 獲取當前開啟的app名
driver.current_activity
 
# 啟動某一個包的,某一個入口
# 引數接受appPackage,appActivity
# 可以省略多個步驟直接到達指定測試的位置
driver.start_activity('com.android.browser','.BrowserActivity')
 
# 每隔0.5秒判斷一次當前的app名稱是否是activityName
# WebDriverWait
driver.wait_activity('activityName', 5, 0.5)
 
# 將啟動的app退出到後臺,多少秒後在切回app 
driver.background_app('m')
 
# 清除應用資料快取,相當於解除安裝重灌
driver.reset()