Я использую uiautomator для включения Wi-Fi-коммутатора, а затем подключаюсь к WiFi AP.
То, что я хочу сделать, это:Вид прокрутки управления при наличии двух списков
- Включите WiFi
- Подключение к Wi-Fi точки доступа
Но проблема страница настройки в планшете есть два ListView.
Когда я включаю WiFi, мне нужно управлять левым списком.
И после этого мне нужно управлять правильным списком, чтобы подключиться к Wi-Fi AP.
Мне нужно прокрутить, чтобы просмотреть весь элемент списка, но я всегда этого не делаю.
Я попытался указать listview экземпляром (0) & экземпляра (1), но иногда это не получится.
Ниже приведен код:
public void TurnOn()
{
try {
UiScrollable settingsList = new UiScrollable(new UiSelector().className(android.widget.ListView.class.getName()).instance(0).scrollable(true));
UiObject btItem = settingsList.getChildByText(new UiSelector().className(android.widget.LinearLayout.class.getName()),"Wi-Fi", true);
UiObject btSwitch = btItem.getChild(new UiSelector().className(android.widget.Switch.class.getName()));
if(!btSwitch.isChecked())
{
btSwitch.click();
sleep(3000);
}
else System.out.println("Wifi is already enabled");
} catch (UiObjectNotFoundException e) {
System.out.println("Can't find the Wi-Fi switch");
}
}
public void ConnectAP()//No password Ap
{
UiScrollable wifiList = new UiScrollable(new UiSelector().className(android.widget.ListView.class.getName()).instance(1).scrollable(true));
if(!wifiList.exists()) wifiList = new UiScrollable(new UiSelector().scrollable(true));
else System.out.println("Its tablet");
UiSelector selector = new UiSelector().className(android.widget.RelativeLayout.class.getName());
UiObject btItem = null;
int maxSearchSwipes = wifiList.getMaxSearchSwipes();
for (int i = 0; i < maxSearchSwipes && i<10; i++)
{
try {
btItem = wifiList.getChildByText(selector, "Guest");
if(btItem.getChildCount()==2) System.out.println("Wifi is already connected to Guest AP or not in range.");
else {
btItem.clickAndWaitForNewWindow();
sleep(3000);
}
break;
} catch (UiObjectNotFoundException e) { //Do nothing
}
for (int j = 0; j < i; j++){
try {
wifiList.scrollForward();
} catch (UiObjectNotFoundException e) {
System.out.println("Can't scrollForward");
}
}
}
if(btItem == null) System.out.println("Can't find Guest AP.");
}
Большую часть времени он работает, но когда-нибудь получить контроль над код неверном ListView.
Нужны ценные предложения. Спасибо всем!