Bootstrap

Appium 2.x 安装及使用

由于安全问题,Appium 1.x 版本不再被维护,但想要继续使用Appium进行自动化可以使用 Appium 2.x。

1. 安装Appium 2.x

在过往文章中有介绍过Appium 1.x 的安装,所以一些必备的软件(如:JDK、SDK、node.js、Python)安装就不再细嗦,不了解的小伙伴可以前往查看 Appium 1.x安装与入门

1.1 卸载旧版 Appium 1.x

使用npm命令卸载以前安装的旧版 Appium 1.x(如果安装过的话)

npm uninstall -g appium

再卸载 Appium-doctor (如果安装过的话)

 npm uninstall -g appium-doctor

然后再检查一下有没有卸载干净

appium -v

如果命令行没有返回 Appium 的版本信息或者返回 “command not found”,则说明旧版 Appium 已经卸载干净。

1.2 安装Appium 2.x

安装 Appium

npm install -g appium

检查Appium版本号

appium –v

在这里插入图片描述

2. 安装Appium driver

appium driver install uiautomator2

安装完成以后,可以通过以下命令查看安装好的驱动
在这里插入图片描述

3. 安装Appium Inspector

Appium Inspector的安装往期也有讲过,因为跟与Appium服务器分家,所以现在Appium Inspector的安装也是很方便的,直接到GitHub下载最新的安装就行,Appium Inspector下载地址:https://github.com/appium/appium-inspector/releases
在这里插入图片描述

4. 安装Appium Python Client客户端

由于博主比较喜欢用Python来做自动化,所以这里介绍安装Python端的客户端

pip install Appium-Python-Client

5. 启动及连接测试

5.1 启动Appium 2.x

在这里插入图片描述

5.2 Appium Inspector连接

在Appium Inspector中添加如下配置

{
  "platformName": "Android",
  "appium:platformVersion": "8.1.0",
  "appium:deviceName": "6a2c02ad",
  "appium:automationName": "UiAutomator2",
  "appium:appPackage": "tv.danmaku.bili",
  "appium:appActivity": "tv.danmaku.bili.MainActivityV2",
  "appium:ignoreHiddenApiPolicyError": "true",
  "appium:unicodeKeyboard": false,
  "appium:noReset": true
}

在这里插入图片描述
保存后启动会话(中间会安装一些应用在手机上,同意就行了)
在这里插入图片描述

5.3 脚本连接测试

from appium import webdriver
from appium.options.android import UiAutomator2Options
from selenium.webdriver.common.by import By
from appium.webdriver.extensions.android.nativekey import AndroidKey
"""


@author:    Hincy

"""

desired_caps = {
    'platformName':'Android',           # 被测手机为安卓
    'platformVersion':'8.1.0',          # 手机安卓版本
    'deviceName':'6a2c02ad',              # 设备名,安卓手机可以随便填写
    'appPackage':'tv.danmaku.bili',     # 启动App,Package名称
    'appActivity':'tv.danmaku.bili.MainActivityV2',    # 启动Activity名称
    'unicodeKeyboard':False,             # 使用自带输入法,输入中文时填写True
    'resetKeyboard':True,               # 执行完程序恢复原来输入法
    'noReset':True,                     # 不要重置App
    'newCommandTimeout':6000,
    'automationName':'uiAutomator2'
}

# 连接Appium Server
server_url = "http://127.0.0.1:4723"

options = UiAutomator2Options().load_capabilities(desired_caps)
driver = webdriver.Remote(command_executor=server_url,options=options)
;