Appium自動化(14):Appium常用操作之app操作
阿新 • • 發佈:2021-10-16
APP操作方法:
appium支援對手機上的app進行管理和操作,有如下方法:
1、install_app(self,app_path,**options): 安裝app,app_path為安裝包路徑
2、remove_app(self,app_id,**options): 解除安裝app,app_id為app包名
3、is_app_installed(self,bundle_id): 檢查app是否有安裝bundle_id為app包名
4、launch_app(self): 啟動app,啟動desiredcapabilities配置的APP
5、close_app(self): 關閉app,關閉desiredcapabilities配置的APP
6、background_app(self,seconds): 後臺執行app,seconds為執行時長
7、activate_app(self,app_id): 切換app,app_id為app包名
8、current_activity(self): 列印當前activity使用的時候不加()
9、start_activity(self,app_package,app_activity,**opts): 在當前應用中開啟一個Activity,或者啟動一個新應用並開啟一個Activity,app_package為要啟動的Activity的包名,app_activity要啟動的Activity名。
10、reset(self):重置應用,刪除應用相關資料操作
程式碼示例:
舉例使用幾種方法進行的操作
import time from appium.webdriver.webdriver import By from appium import webdriver des = { 'automationName':'appium', 'platformName':'Android', 'platformVersion':'6.0.1', # 填寫android虛擬機器/真機的系統版本號 'deviceName':'MuMu', # 填寫安卓虛擬機器/真機的裝置名稱 # 'appPackage':'com.sky.jisuanji', # 填寫被測app包名# 'appActivity':'.JisuanjizixieActivity', # 填寫被測app的入口 'udid':'127.0.0.1:7555', # 填寫通過命令列 adb devices 檢視到的udid 'noReset':True, # 是否重置APP 'unicodeKeyboard':True, # 是否支援中文輸入 'resetKeyboard':True, # 是否支援重置鍵盤 'newCommandTimeout':60 # 30秒沒傳送新命令就斷開連線} driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des) # 判斷如果 計算器 已經下載了則刪除 if driver.is_app_installed("com.sky.jisuanji"): driver.remove_app("com.sky.jisuanji") time.sleep(3) # 下載 計算器app driver.install_app("E:/apk/CalcTest.apk") time.sleep(3) # 啟動 計算器 driver.start_activity("com.sky.jisuanji",".JisuanjizixieActivity") time.sleep(8) # 做 8+9 的操作 driver.find_element(By.ID,'com.sky.jisuanji:id/btn8').click() driver.find_element(By.ID,'com.sky.jisuanji:id/jia').click() driver.find_element(By.ID,'com.sky.jisuanji:id/btn9').click() driver.find_element(By.ID,'com.sky.jisuanji:id/denyu').click() time.sleep(3) # 置於後臺5秒中 driver.background_app(5) time.sleep(3) # 切換到設定 driver.activate_app('com.android.settings') time.sleep(3) # 切換到計算器 driver.activate_app('com.sky.jisuanji') time.sleep(3) driver.close_app() # current_activity\reset\launch_app 這四個方法只適合在des項配置中操作