如何使用Selenium验证图标在安卓状态栏中的存在?



我需要编写代码(Java、Selenium(来验证图标在Android状态栏中的存在。例如,启用飞机模式后,将显示一个飞机图标。但我不知道如何做到这一点,应该使用什么选择器?Appium桌面似乎无法使用状态栏,"adb shell dumpsys statusbar"也没有提供有用的信息。我已经编写了通知栏中元素的验证、快速选项等,但我一直在寻找状态栏图标。请帮忙。

因此,我找到了一种通过systemUIservice的dumpsys来验证它的方法。代码如下:

public static boolean validateAirplaneModeBySystemUIService(DeviceAng deviceAng) throws Exception {
String systemUIService = "activity service SystemUIService";
return deviceAng.getADB().shell().dumpsys().service(systemUIService, "mAirplaneMode=true").GetBoolean()
&& deviceAng.getADB().shell().dumpsys().service(systemUIService,
"icon=StatusBarMobileView(slot=mobile state=MobileIconState").GetString().contains("visible=false")
&& deviceAng.getADB().shell().dumpsys().service(systemUIService,
"icon=StatusBarIconView(slot=airplane icon=StatusBarIcon").GetString().contains("visible user=0");
}

最新更新