Airtest - UI自动化 - 关于锁屏问题的几种方法总结
在做UI自动化并用定时跑脚本的,都会经过锁屏/唤起这一步骤,为了更好的学习,把过程记录下来(本文以用真机跑为例),目前先写了android的,后面可能会补充iOS的
一、如何确保手机为解锁状态
- 首先,有一种“笨办法”,解锁之后,如下图,更改手机设置选项,开发者选项-保持唤醒状态,使之不会自动锁屏就好,但是这种方法并不是对所有手机适用,而且,有点费电。。
- 其次,就是一般的思路,首先检测一下当前手机屏幕状态是否为锁屏状态,如果是,唤醒,如果不是,继续下一步操作
二、判断当前手机是否为锁屏状态
-
我用的是Airtest,好处是有封装好的方法,例如
-
is_screenon(),如果屏幕没有亮,会返回True,如果屏幕亮了会返回False;
- 注意一点是,这个方法并不是判断锁屏/解锁,而是屏幕亮/不亮,屏幕亮了之后还需要swipe划一下才能解锁
-
is_locked(),如果屏幕锁定会返回True,反之返回False
is_screenon() Perform adb shell dumpsys window policy
-