Appium+python连接一个设备并启动指定的APK

一、Appium运行的原理

我们的电脑(client)上运行自动化脚本,调用的是webdriver的接口,appium server接受到我们电脑上(client)发送过来的命令后他会将这些命令转换为Uiautomator认识的命令,然后由Uiautomator来在设备上执行自动化!
如图所示:
Appium+python连接一个设备并启动指定的APK_第1张图片

二、编译工具(本人使用的编译工具是pycharm)
工具下载地址:https://www.jetbrains.com/pycharm/download/#section=windows (注意在下载的时候我们可以选择不收费的社区版)
如图所示:
Appium+python连接一个设备并启动指定的APK_第2张图片
三、代码实现如下:
1、启动apk
#导入需要引用的工具或者函数
from appium import webdriver
from selenium.common.exceptions import NoSuchElementException
#定义一个字典来存储设备信息以及参数
desired_caps{}
#存入需要存储的设备信息及参数
desired_caps[‘platformName’]=‘Android’#测试使用的系统
desired_caps[‘deviceName’]=‘127.0.0.1:62001’)#这里127.0.0.1:62001指的是模拟器,如果是真机的话我们需要获取真实的deviceName;例如:desired_caps[‘deviceName’]=‘HUAWEI SC-CL00’
desired_caps[‘uiid’]=‘3a25844’#连接多个真机是需要填写对应的uiid
desired_caps[‘platforVersion’]=‘5.1.1’#当前设备采用的Android版本
desired_caps[‘app’]=r’D:\fileDownload\Android_Insater\kaoyan3.1.0.apk’#需要安装的apk在本地的存储位置
desired_caps[‘appPackage’]=‘com.tal.kaoyan’#我们需要测试的apk的包名,可以通过命令(cmd) aapt dump badging xxx.apk
desired_caps[‘appActivity’]=‘com.tal.kaoyan.ui.activity.SplashActivity’#apk的activity
desired_caps[‘noReset’]=‘true’#在此会话之前不要重置应用程序状态
#启动apk并连接Appium服务器
device=webdriver.Remote(‘http://localhost:4723/wd/hub’,desired_caps)
2、在启动过程跳过欢迎界面和安装升级按钮
def check_cancelBtn():
print (‘check cancelBtn’)
try:
cancelBtn=device.find_element_by_id(‘android:id/button2’)
except:
print (‘no cancelBtn’)

else:
    cancelBtn.click()

def check_skipBtn():
print ('check skipBtn ')
try:
skipBtn=device.find_element_by_id(‘com.tal.kaoyan:id/tv_skip’)

except:
    print ('no skipBtn ')

else:
    skipBtn.click()

注意在运行脚本时要先启动一个appium server
如图所示:
Appium+python连接一个设备并启动指定的APK_第3张图片

desired_caps参数
Appium+python连接一个设备并启动指定的APK_第4张图片

你可能感兴趣的:(Appium+python连接一个设备并启动指定的APK)