電腦的瀏覽器 手機的瀏覽器 手機上的app
原生的應用 純java 手機上的app apk
移動網頁應用 純HTML CSS 手機的瀏覽器上 電腦的瀏覽器上
混合應用 java html css
python代碼 Appium python庫 Appium 手機
都是代表本機
0.0.0.0
127.0.0.1
localhost
如何啟動app
啟動參數
安卓的版本
設置里面 關于本機
adb shell dumpsys window windows | findstr mCurrentFocus
adb shell dumpsys activity | find "mFocusedActivity"
都可以用來找包名和界面名
from appium import webdriver
import time# 啟動一個字典 包裝相應的啟動參數
desired_caps = dict()# 平臺的名字,安卓還是IOS 大小寫無所謂
desired_caps['platformName'] = 'Android'# 平臺的版本,(5.4.3 可以寫 5.4.3 5.4 5)
desired_caps['platformVersion'] = '7.1.2'# 設備的名字,隨便寫,不能亂寫
desired_caps['deviceName'] = 'samsung'# 要打開的應用程序 包名
desired_caps['appPackage'] = 'com.android.settings'# 要打開的界面 啟動名 界面名
desired_caps['appActivity'] = '.Settings'# 連接appium服務器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)time.sleep(3)driver.quit()
如何通過代碼跳轉到其它app
from appium import webdriver
import time# 啟動一個字典 包裝相應的啟動參數
desired_caps = dict()
# 平臺的名字,安卓還是IOS 大小寫無所謂
desired_caps['platformName'] = 'Android'
# 平臺的版本,(5.4.3 可以寫 5.4.3 5.4 5)
desired_caps['platformVersion'] = '7.1.2'
# 設備的名字,隨便寫,不能亂寫
desired_caps['deviceName'] = 'samsung'
# 要打開的應用程序 包名
desired_caps['appPackage'] = 'com.android.settings'
# 要打開的界面 啟動名 界面名
desired_caps['appActivity'] = '.Settings'# 連接appium服務器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)time.sleep(3)# 包名 界面名
driver.start_activity('com.android.Calendar','com.android.Calendar.ui.activity.MainActivity')time.sleep(3)driver.quit()
獲取app的包名和界面名
from appium import webdriver
import time# 啟動一個字典 包裝相應的啟動參數
desired_caps = dict()
# 平臺的名字,安卓還是IOS 大小寫無所謂
desired_caps['platformName'] = 'Android'
# 平臺的版本,(5.4.3 可以寫 5.4.3 5.4 5)
desired_caps['platformVersion'] = '7.1.2'
# 設備的名字,隨便寫,不能亂寫
desired_caps['deviceName'] = 'samsung'
# 要打開的應用程序 包名
desired_caps['appPackage'] = 'com.android.settings'
# 要打開的界面 啟動名 界面名
desired_caps['appActivity'] = '.Settings'# 連接appium服務器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)# 輸出當前程序的包名
print(driver.current_package)
# 輸出當前程序的界面名
print(driver.current_activity)# 包名 界面名
driver.start_activity('com.android.Calendar','com.android.Calendar.ui.activity.MainActivity')# 輸出當前程序的包名
print(driver.current_package)
# 輸出當前程序的界面名
print(driver.current_activity)driver.quit()
com.android.settings
.Settings
com.android.Calendar
.ui.activity.MainActivity
關閉所有關聯的app 由driver啟動的那些app
driver.close_app
print(driver.current_package)
不會報錯 com.android.launcher3 //home
driver.quit() 關閉驅動對象
print(driver.current_package)
所以會報錯
安裝和卸載以及是否安裝app
from appium import webdriver
import time
# 啟動一個字典 包裝相應的啟動參數
desired_caps = dict()
# 平臺的名字,安卓還是IOS 大小寫無所謂
desired_caps['platformName'] = 'Android'
# 平臺的版本,(5.4.3 可以寫 5.4.3 5.4 5)
desired_caps['platformVersion'] = '7.1.2'
# 設備的名字,隨便寫,不能亂寫
desired_caps['deviceName'] = 'samsung'
# 要打開的應用程序 包名
desired_caps['appPackage'] = 'com.android.settings'
# 要打開的界面 啟動名 界面名
desired_caps['appActivity'] = '.Settings'# 連接appium服務器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)if driver.is_app_installed('com.example.jcy.wvtest'):driver.remove_app('com.example.jcy.wvtest')
else:driver.install_app('D:\WORK\wv.apk')
將應用置于后臺
模擬home鍵 將應用放置后臺中
from appium import webdriver
import time
# 啟動一個字典 包裝相應的啟動參數
desired_caps = dict()
# 平臺的名字,安卓還是IOS 大小寫無所謂
desired_caps['platformName'] = 'Android'
# 平臺的版本,(5.4.3 可以寫 5.4.3 5.4 5)
desired_caps['platformVersion'] = '7.1.2'
# 設備的名字,隨便寫,不能亂寫
desired_caps['deviceName'] = 'samsung'
# 要打開的應用程序 包名
desired_caps['appPackage'] = 'com.android.settings'
# 要打開的界面 啟動名 界面名
desired_caps['appActivity'] = '.Settings'# 連接appium服務器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)# 進入后臺5秒 再回到前臺
# 用于將當前應用程序在設備上置于后臺5秒,然后再將其切換回前臺。
driver.background_app(5)time.sleep(2)driver.quit()
熱啟動 :進入后臺回到前臺?
冷啟動:關機再開 這種切斷電源的行為