自动化工具 另类方法处理 appium 安装 app 时候的弹窗

雨夜狂奔 · 2018年08月20日 · 最后由 wtnhz 回复于 2018年09月03日 · 2056 次阅读

0. 另类方法解决安装 app 时候的弹窗

最近接触到一个软件叫八戒助手,软件功能主要是用来跳过广告的(模拟点击 app 上的跳过广告控件),跟自动化原理有点类似,所以想了下能不能用来点击安装 app 时候的各种弹窗。

1. 安装 app

从各种应用市场下载或者百度搜索即可,安装完成需要注意以下几点

  • 将 app 加入到启动白名单,不要被系统杀掉后台了。
  • 开启 app 的辅助功能

2. 进行各种设置

按照截图设置,也没什么特别复杂的

首页点击八戒规则,进入到 app 列表界面。

点击+号选择自己要操作的 app 包,因为权限弹窗是系统应用,所以要把显示系统应用勾选上。

选择完 app 进入到规则列表,点击添加,这里主要是添加一些点击规则。

这里就是实际的规则添加界面了,这个应该难不倒我们,目标页面就是操作的activityViewId就是我们的resourceId,完成之后保存,这里有很多选项,大概介绍一下

  • 文字:就需要点击内容的文字,对于安装弹窗来说,一般是完成,下一步等,依据不同手机而定。
  • ViewId:也就是resourceId
  • 坐标:也就是固定坐标。

全部设置完成之后可以点击一个手机上的 app 查看效果。

3. 其它的选项

由于软件是给跳过广告使用的,所以每次点击会有广告已跳过的提示,可以在 app 设置里面关掉。

配置可以导入导出。

4. 重要说明/重要说明/重要说明

由于appium和辅助功能会有冲突,在 appium 的 session 启动之后,这个 app 的点击就没法工作了。

适用范围

所以这个方法的使用范围就是启动测试到 session 启动之前的 app 安装弹窗,比如 appium 自带的各种 apk 的安装(如 uiautomator2,unlock,setting),以及被测 app 的安装。

不适用

所以很明显,在 session 启动之后也就是 app 启动之后的权限弹窗(比如获取位置,通讯录权限等)这些弹窗就无法处理了,这种的话也比较简单,可以使用 appium 刚刚创建的 session 按照普通元素来点掉即可。

共收到 2 条回复 时间 点赞

也是一个思路

我看到你在这个贴里回答了这个问题 https://testerhome.com/topics/12926

我也遇到了多设备执行的时候出现 Error: read ECONNRESET 的问题

请问是怎么解决?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册