Appium⼯作原理以及驱动参数讲解
⼀、Appium的⼯作原理:
(1)客户端代码与appiummserver建⽴连接session,并传递caps配置信息
(2)Appiumserver检查配置信息是否符合要求
(3)利⽤adb⼯具检查当前连接的移动设备
(4)安装appium-setting与uiautomator2到被测⼿机(⾸次运⾏脚本时会安装到对应⼿机上去)
(5)⼿机启动appium-settings作为监听服务,⽤于appium-server进⾏通信
(6)uiautomator2启动被测app(代码指定了底层驱动为UI2,也可⼿动修改为UI1)
⼆、操作步骤:(安卓⼿机为例)
(1)先在电脑安装appium
(2)下载并配置好androidsdk环境(下⾯说到的adb命令与此相关)
⼤致画了⼀张图:
图⽚流程讲解:
   写好python脚本-->启动appium--->使⽤adb 命令连接上⼿机---->运⾏脚本--->第⼀次运⾏脚本的时候(针对⼿机来说)会在⼿机上安装两个app,就是上图的appium-setting(可在桌⾯上查看)、还有⼀个uiautomator(搜索的时候可查看)---->然后这两个app就会驱动对应的⼿机app执⾏脚本代码
三、驱动配置参数讲解:
from appium import webdriver
#准备⾃动化配置信息
myCaps={
'platformName': 'Android',    #移动设备平台  Android/IOS
'plathformVersion': '9',      #⾃⼰⼿机的版本号,写整数即可
'deviceName': 'demo',        #设备名称,⾃⼰起
'appPackage': 'cn.xuexi.android', #要测试的app信息,如何知道值下⾯讲解
'appActivity': 'com.alibaba.android.rimet.biz.SplashActivity',
'noReset': True,    #⾃动化后不重置app
'newCommandTimeout': 1000,  #设置session的超时时间、单位为秒
'automationName': 'UiAutomator2', # 底层驱动,如果启动不成功可以改成UiAutomator1
'unicodeKeyboard':True,  #修改⼿机的输⼊法 Ui2不需要设置
'resetKeyboard':True      #⾃动化结束之后将输⼊法还原(有可能会还原失败)
}
#启动
python能在手机上运行吗driver= webdriver.Remote('127.0.0.1:4723/wd/hub',myCaps)
以上参数appPackage以及appActivity键对应的值获取⽅式:先在⼿机上代开待测试的app---->打开电脑cmd终端--->输⼊命令:adb shell dumpsys activity recents | findstr intent={
对应的值如下: