配置
from appium import webdriver desired_caps={} desired_caps['platformName']='Android' #模拟器 desired_caps['deviceName']='127.0.0.1:62001' desired_caps['platforVersion']='5.1.1' desired_caps['app']=r'F:\App\3.1.0.apk' desired_caps['appPackage']='com.tal' desired_caps['appActivity']='com.activity.SplashActivity'
#不写为False(不保留用户的session,每次都有更新和跳过的提示) #相当于每次都是重新安装 desired_caps['noReset']='True'
send_keys() # 传入中文时需要在capability中配置如下内容 desired_caps['unicodeKeyboard']='True' desired_caps['resetKeyboard']='True'
如果不加这两行,有中文的时候就输入不了
有时候加了这两行,输入中文时会出现乱码,是因为输入法的原因
使用appium做了输入操作之后,如果出现输入法无法唤起,可以在系统设置---语言和输入法---将当前的输入法替换为系统输入法或者其他输入法
Appium1.6.3开始支持识别Toast内容,主要是基于uiAutomator2,因此需要在Capability配置如下参数,要先安装,安装步骤查看appium2里的toast的内容
desired_caps['automationName']='uiautomator2'
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
启动appium服务
可以在cmd下输入appium来启动,就不用启动appium-desktop了
实战
from appium import webdriver desired_caps={} desired_caps['platformName']='Android' #模拟器 desired_caps['deviceName']='127.0.0.1:62001' desired_caps['platforVersion']='5.1.1' #真机 # desired_caps['deviceName']='ry' # desired_caps['platforVersion']='7.0' # desired_caps['udid']='KVXBB18224502326' desired_caps['app']=r'F:\App\1.0.apk' desired_caps['appPackage']='xxx' desired_caps['appActivity']='xxx' driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
/wd/hub规定这样写,因为源码中就这样写的,可以看Remote的源码,4723为appium-desktop的端口
报错解决
urllib.error.URLError: <urlopen error [WinError 10061] 由于目标计算机积极拒绝,无法连接。>
解决方案:服务未开启,开启appium