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

点击这里查看JDK安装详情

安装 Android SDK

点击这里即可查看安卓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()
posted @ 2020-10-13 10:11  酒剑仙*  阅读(814)  评论(0)    收藏  举报