Appium移動端自動化:Api介面詳解
阿新 • • 發佈:2019-01-08
滑動操作與拖拽操作
# 滾動處理 # 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()