电脑的浏览器 手机的浏览器 手机上的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()
热启动 :进入后台回到前台
冷启动:关机再开 这种切断电源的行为