七、Android手机设置初始化功能

1. 前言

在AirtestIDE1.2.13版本中,我们新增了1个 安卓手机设置初始化的功能 (以下简称手机初始化功能),能够在手机已经打开 USB调试、且已安装 PocoService 的前提下,自动 进行一些手机相关设置项的自动设置工作。

image

比如有时候,我们会忘记设置pocoservice的自启动、启用Yosemite输入法或者关闭安全键盘等,甚至新手同学可能并不知道要对哪些设置项进行操作,就可以使用1.2.13提供的手机初始化功能来帮助我们自动进行设置。

2. 准备工作

请务必确认以下所有步骤都已完成,否则无法使用手机初始化功能进行自动初始化:

1)打开USB调试

打开手机的开发者选项开关,然后在开发者选项中打开USB调试开关。

2)使用USB连接手机并信任设备

使用USB连接手机,当手机弹出信任弹窗时,点击信任。

3)adb devices能看到手机

确认电脑上能够用 adb devices 指令,看到手机出现在列表中。

image

4)确认手机设置

  • 部分品牌如OPPO/VIVO/Realme手机,需要事先登录账号才能够进行APK的安装,请务必提前登录账号,以方便后续安装apk步骤的进行(Yosemite.apk和pocoservice.apk)
  • 小米手机需要确认【USB调试(安全设置)-允许模拟点击】选项已经开启

3. 如何使用

1)初始化功能入口

准备工作做好之后,我们可以在AirtestIDE的设备窗里,点击 刷新ADB ,等待刷出待测设备列表之后,再点击 connect 右侧的下拉按钮,选择 Init Device按钮:

image

之后会弹出一个手机初始化功能的窗口:

image

在这个弹窗里,我们可以事先填入安装apk时需要输入的密码,之后点击 开始初始化 ,在安装apk时会自动帮我们输入安装密码(无需我们人工处理)。

当然我们也可以不填入安装密码并点击 开始初始化 ,这样在安装apk时,就需要人工输入安装密码完成相应apk的安装(pocoservice.apk和Yosemite.apk)。

2)简单演示初始化功能

这里我们简单展示下手机初始化功能的效果:

image

3)如何停止初始化

点击 停止运行 的按钮即可停止自动初始化,快捷键是 shift+F5

4)结果查看

初始化功能结束后,会将该品牌的设置项都显示在终端中,同时也会列出失败的项目,部分失败原因是本机型没有相关设置项、或是无需设置,这种情况可以人工检查复核后忽略就行。

部分失败原因是因为我们预先写好的规则中不包括该机型的相关设置,如果遇到了此种情况,可以将该机型+对应的正确设置方法反馈给我们( https://airtest.netease.com/issue\_create ),我们将会及时更新规则和相关文档。

以下述初始化功能的log为例:

  1. ----------------------- * * * -----------------------
  2. OPPO手机的设置项:
  3. - 连接模式-传输文件
  4. - 【需手动设置】请事先登录好OPPO账号
  5. - 【需手动设置】开发者选项开启方式:连续点击【设置-系统管理-关于手机-版本信息-软件版本】
  6. - 设置-电池-应用耗电管理-pocoservice-允许应用自启动,允许完全后台行为
  7. - 设置-其他设置-开发者选项-禁止权限监控 打开,充电时屏幕不休眠 打开
  8. - 设置-其他设置-键盘与输入法-管理输入法-yosemite 启用
  9. - 设置-其他设置-键盘与输入法-输入密码时启用安全键盘 关闭
  10. - 设置-安全与隐私-允许安装未知来源的应用 打开 (不是所有机型都有)
  11. - 【无需设置】如OPPO出现10分钟断连的情况,不要插拔手机,直接在屏幕上方下拉的选项里再次打开 USB调试
  12. ----------------------- 以下步骤设置失败: -----------------------
  13. - 设置-安全与隐私-允许安装未知来源的应用 打开
  14. (本选项不是所有的机型都有)
  15. 错误原因:
  16. Cannot find any visible node by query UIObjectProxy of "text=安全与隐私"

我们可以根据log中列出的选项,检查手机上的各个选项是否正确被处理了。

出现错误的可能原因:

  • 该手机并没有相关的设置项,由于机型版本不同,导致设置项在同一品牌手机上也有很大差异,有些选项如果找不到可以忽略
  • 部分手机有相关选项,但因为机型或系统版本不同,导致我们目前的规则并没有能够覆盖到该款手机,若出现该情况,可以将手机机型和对应的设置反馈给我们
  • 部分选项不是必须的,如果不做处理,可能影响很小,可以视情况忽略(例如充电时保持屏幕常亮、或是监控ADB安装应用等选项,并非必须要处理的选项)
  • 几乎绝大多数品牌手机都需要允许PocoSerivce.apk能够在后台启动,部分手机可能在还没来得及做出修改前,poco进程就被手机杀后台了,可能需要手工处理(例如一加8T)

4. 注意事项

1)初始化功能做的事情

  • 先进行手机图像查看、点击操作的初始化
  • 安装PocoService.apk,这个步骤可能需要人工在手机上进行安装确认或输入密码
  • 安装Yosemite.apk,此步骤同样可能需要人工确认
  • 根据各品牌手机的一些设置规则,依次进行手机设置的修改,部分手机可能会因为PocoService被手机自动杀后台,导致初始化失败,可以尝试重复运行、或是人工设置

2)支持的品牌

以下是当前支持的品牌:

  • 三星
  • 华为(包含荣耀)
  • OPPO
  • VIVO
  • 一加
  • Realme真我(大体与OPPO类似)
  • 小米
  • 魅族

3)相关设置项

本功能会关闭手机很多安全性相关的选项,主要为自动化测试提供方便,如果是自己平时使用的手机,请先阅读好下方的各个配置项列表,确认内容无误后再运行:

小米手机(请务必登录账号先进行设置!!!!)

小米

  • 【需手动设置】需要插入sim卡并登录小米账号(小米开启权限时需要插入SIM卡,完成选项开启后可以拔卡)
  • 【需手动设置】开启开发者选项:连续点击【设置 - 我的设备 - 全部参数 - MIUI版本】
  • 【需手动设置】设置开发者选项:(根据MIUI版本不同,描述可能不一样)
  • 开启【USB调试】、【USB安装】、【USB调试(安全设置)-允许模拟点击】
  • 禁用开发者选项底部【启动MIUI优化】、【高风险功能开启提醒】
  • 禁用手机管家-应用管理-权限-右上角的设置- 【应用权限监控】和 【USB安装管理】
  • 启用手机管家-应用管理-权限-自启动管理-PocoService,允许PocoService自启动
  • 语言与输入法:关闭【安全键盘】,在输入法管理中,启用【Yosemite输入法】
  • 如果手机依然无法看到屏幕,可以检查Yosemite.apk是否成功安装(可以手动安装),并且对应的权限都开启了
华为手机的设置项

华为

  • 【手动设置】USB模式-文件,若开启了仅充电模式下允许调试才能直连
  • 设置-高级设置-语言和输入法-安全输入 关闭 (不同机型该选项有不同入口)
  • 设置-开发者选项-监控 ADB 安装应用 关闭
  • 设置-开发者选项-“仅充电”模式下允许 ADB 调试 打开
  • 手机管家(大于8.0版本)-应用启动管理-PocoService允许自启动和后台活动
OPPO手机的设置项

OPPO

  • 【需手动设置】请事先登录好OPPO账号
  • 设置-电池-应用耗电管理-pocoservice-允许应用自启动,允许完全后台行为
  • 设置-其他设置-开发者选项-禁止权限监控 打开
  • 设置-其他设置-键盘与输入法-管理输入法-yosemite 启用
  • 设置-其他设置-键盘与输入法-输入密码时启用安全键盘 关闭
  • 【手动设置】如OPPO出现10分钟断连的情况,不要插拔手机,直接在屏幕上方下拉的选项里再次打开 USB调试
VIVO手机的设置项

vivo

  • 【需手动设置】请事先登录好VIVO账号
  • 【需手动设置】设置-开发者选项-USB模拟点击 打开(如有)
  • 电池-后台高耗电-> PocoService 开启
  • 设置-输入法-安全输入 关闭
  • 开发者选项-安全权限 打开(暂未添加)
  • 设置-安全与隐私-防止恶意截屏录屏 关闭
  • 设置-更多设置(或系统管理)-开发者选项->通过USB验证应用 关闭
  • 【可选】开发者选项-不锁定屏幕 开启 (此选项能避免长时间连接时,手机自动关闭开发者选项的问题,若需要长期连接可以开启)
三星手机

三星

  • 【需手动设置】插入USB时,允许访问手机数据
  • 【需手动设置】选择安装PocoService(如果是国际版,可能会被google play检测)
  • 设置-显示-屏幕分辨率-WQHD+-应用-确定,将分辨率调到最大
  • 【暂未实现】部分型号手机在开发者选项中,打开未知来源、取消权限监控。
Realme真我(与OPPO基本一致)

Realme

  • 【需手动设置】请事先登录好Realme账号
  • 设置-电池-应用耗电管理-pocoservice-允许应用自启动,允许完全后台行为
  • 设置-其他设置-开发者选项-禁止权限监控 打开(必须),充电时屏幕不休眠 打开(非必须)
  • 设置-其他设置-键盘与输入法-【管理输入法-yosemite】 启用, 【输入密码时启用安全键盘】 关闭
一加手机的设置项

一加

  • 【可能需手动设置】设置-电池-电池优化-PocoService-不优化 (可能在设置成功前,进程就已经被手机终止了,因此本选项可能需要手工进行设置)
  • 设置-其他设置-键盘与输入法-输入密码时启用安全键盘 关闭
  • 设置-其他设置-键盘与输入法-管理输入法-Yosemite输入法 启用
  • 设置-其他设置-开发者选项-禁止权限监控 打开, 充电时屏幕不休眠 打开(非必选)
魅族手机的设置项

魅族

  • 手机管家-权限管理-后台管理-PocoService-允许后台运行
  • 手机管家-USB安装管理-USB安装管理 取消选中,可以在安装apk时不再出现弹窗
  • 设置-语言和时间-Yosemite输入法 勾选,取消密码安全保护