monkey测试中防止关闭WIFI的方法
在monkey测试过程中,经常出现随机下拉顶部的状态栏,导致WIFI被关闭,测试过程中无网络,业务流程无法进行验证,针对这种情况,有如下两种解决方法:
1、时不时看一下,检查有无关闭WIFI,如果出现关闭现象,手动将WIFI打开;
缺点:
治标不治本,不可能一直盯着,耽误时间,效率不高,太费人,放弃;
2、使用adb命令,屏蔽下来顶部状态栏的操作,使用如下指令屏蔽:
adb shell settings put global policy_control immersive.status=*
执行成功标志:
android设备顶部状态栏看不到任何图标,但是手动可以下拉顶部状态栏;
解除指令:
adb shell settings put global policy_control null
经过实际验证,原本测试十来分钟,就会出现WIFI被关闭的情况,实际验证2H,未出现WIFI关闭的情况,此方法可行,推荐;
待跑一整晚,再来看结果。
======
两个月后,来更新一下结果:
用这个方法,跑了好几个版本的稳定性测试了,看起来确实有效果,有时候连续跑48H也没有关闭WIFI。虽然不能杜绝WIFI被关闭的情况,但是已经很大的降低了WIFI被误点击关闭的情况。
【其他解决方案】
此问题的解决方法一:
adb shell "svc wifi enable" #打开wifi
adb shell "svc wifi disable" #关闭wifi
以上两种指令实测有效。
参考文档:https://stackoverflow.com/questions/10033757/how-to-turn-off-wifi-via-adb?rq=1
此问题的解决方法二:
参考文档:https://www.jianshu.com/p/4e3f80adaeb1
https://www.jianshu.com/p/685037cc2883
如何通过adb命令判断wifi是否连接或关闭
在linux或Mac上执行
adb shell "dumpsys wifi |grep 'Wi-Fi is'"
在Windows上执行:
adb shell "dumpsys wifi |grep 'Wi-Fi is'"
Wi-Fi is disabled or Wi-Fi is enabled
参考文档:https://stackoverflow.com/questions/31604610/how-to-test-wifi-connection-via-adb
手机无需root,以上命令均可生效,已在华为P20(os8.1.0,os9.1.0),小米mix3(os10), OPPO Reno Z(os10)上尝试过,均可以。
一些实用的ADB命令
awesome-adb/