Appium自动化环境搭建(这里主要讲解 安卓APP的自动化)
安装client编程库
根据原理图, 我们知道自动化程序需要调用客户端库和 Appium Server 进行通信。
因为我们介绍Python语言开发,所以当然是用pip安装,如下
pip install appium-python-client
安装Appium Server
Appium Server 是用 nodejs 运行的,基于js开发出来的。Appium组织为了方便大家安装使用,制作了一个可执行程序 Appium Desktop,把 nodejs 运行环境、Appium Server 和一些工具 打包在里面了,只需要简单的下载安装就可以了。
Appium Desktop官方下载,点击这里打开下载页面
安装JDK
本教程主要讲解 安卓APP的自动化,必须要安装安卓SDK,而安卓SDK需要 JDK 环境。下载安装: jdk-8u121-windows-x64.exe
安装 Android SDK
连接手机
上述的软件环境都准备好以后,要自动化手机APP,需要:
-
在你运行程序的电脑上 用 USB线 连接上 你的安卓手机
-
进入
手机设置->关于手机,不断点击版本号菜单(7次以上), -
退出到上级菜单,在开发者模式中,启动USB调试
如果手机连接USB线后,手机界面弹出 类似 提示是否允许USB调试。选择 允许USB调试。
注意:
有的手机系统,可能需要一些额外的选项需要设置好。比如,有的手机,开发者选项里 需要打开 允许通过USB安装应用 等。总之,给USB开发调试 尽可能方便的控制手机。
连接好以后,打开命令行窗口, 执行 adb devices -l 命令来列出连接在电脑上的安卓设备。
如果输出 类似如下的内容:
List of devices attached
4d0035dc767a50bb device product:t03gxx model:GT_N7100 device:t03g
表示电脑上可以查看到 连接的设备,就可以运行自动化程序了。
简单示例
下面是一段使用 Appium 自动化的打开 一笔记账 应用,点击 添加 支出 操作
from appium import webdriver desired_caps = { 'platformName': 'Android', # 被测手机是安卓 'platformVersion': '7', # 手机安卓版本 'deviceName': 'deviceName', # 设备名,安卓手机可以随意填写 'appPackage': 'com.mobivans.onestrokecharge', # 启动APP Package名称 'appActivity': 'com.mobivans.onestrokecharge.activitys.MainActivity', # 启动Activity名称 'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True 'resetKeyboard': True, # 执行完程序恢复原来输入法 'noReset': True, # 不要重置App 'newCommandTimeout': 6000, 'automationName': 'UiAutomator2' } # 连接Appium Server,初始化自动化环境 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 设置缺省等待时间 driver.implicitly_wait(5) #点击 加号 driver.find_element_by_xpath( "//android.widget.LinearLayout[@resource-id='com.mobivans.onestrokecharge:id/main_write1']/android.widget.ImageView").click() #点击 日常 按钮 driver.find_element_by_xpath("//android.support.v7.widget.RecyclerView[@resource-id='com.mobivans.onestrokecharge:id/add_rv_cateGrid']/android.widget.LinearLayout[1]/android.widget.TextView").click() #添加备注 driver.find_element_by_id("com.mobivans.onestrokecharge:id/add_et_remark").send_keys("购买了毛衣") #输入 金额 45 driver.find_element_by_id("com.mobivans.onestrokecharge:id/keyb_btn_4").click() driver.find_element_by_id("com.mobivans.onestrokecharge:id/keyb_btn_5").click() #点击 完成 按钮 driver.find_element_by_id('com.mobivans.onestrokecharge:id/keyb_btn_finish').click()

浙公网安备 33010602011771号