自动化工具 Android 自动化记录: OPPO 、VIVO SDK 登录自动化处理

Jerry li · 2018年02月02日 · 1186 次阅读

前言:

在处理帐号登录自动化的过程中,遇到一个问题:在登录成功一次后,下次登录自动缓存了帐号密码。此时无法再次回放输入账号、密码的过程。

解决方法:

1. 尝试清除缓存。帐号、密码信息一般记录在应用的缓存里,因此可以通过清除应用缓存,使应用回到初始状态。

实现:通过 adb 命令,清除当前被测 app 的缓存:
adb shell pm clear com.your.package
通过这个方式,顺利解决 VIVO sdk 登录的问题。

2. OPPO SDK 的特殊性:

尝试使用同样的清除缓存方式解决 OPPO SDK 登录问题时,发现不起作用。查看 OPPO 的登录页面,发现是由另一个 app(com.nearme.game.service )单独控制的。
尝试直接对这个 app 清理缓存,发现清理失败。推测应用内做了权限控制,无法通过 adb 清除。

清除缓存的方式走不通的情况下,只好通过正常的 app 操作跳转到输入账号密码的页面。步骤如下:
1. 点击登录按钮。
2. 马上点击登录窗口的 切换游戏 ID 按钮。

3. 点击 切换帐号 按钮。

4. 点击 使用其他帐号登录 按钮。

此时,重新回到账号密码的输入界面。

最后,还要把登录成功后的这个成功页关闭:

把上述步骤封装成单独的 OPPO 登录方法,实现可重复执行的测试用例。

扩展:

1. 其他第三方 SDK 也可以尝试用上面两种方法解决自动化的难题。
2. 具体根据自己使用的自动化工具进行实现。

总结:

原则上,单条自动化测试用例应该尽量简短,才能减少重复执行时出错的几率,保障用例的健壮性;
但另一方面,遇到此类棘手的问题时,要多想一些方案,毕竟解决问题才是最根本的。问题解决的前提下,还可以进一步优化,提高运行效率和健壮性。

结语:

自动化工具是我们用来替代手工操作的工具,因此遇到工具无法灵活变通的问题时,要想办法把问题变成通用的解决方案,就可以减少自动化正常运行的阻碍。

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