Как переключить bluetooth с помощью androidviewclient

Я пытаюсь переключить Bluetooth с помощью AndroidviewClient. Ниже часть кода. Я могу «найти Bluetooth», а также получить идентификатор и текст. Затем я хочу получить представление для включения/выключения для переключения. Когда я печатаю в приведенном ниже цикле for, я получаю 3 представления, и одно из них — это представление для ON или OFF в зависимости от текущего состояния. Как проверить цикл for для этого представления, чтобы переключить его? Спасибо за вашу помощь,

БР Шрини

view = vc.findViewWithText('Bluetooth')
print "Bluetooth id :", view.getId()
print "Blutooth Text    :", view.getText()

for i in view.parent.parent.children:
    print str(i)

person user2344495    schedule 09.05.2013    source источник


Ответы (1)


Решение состоит в том, чтобы получить представление «Bluetooth», а затем выполнить поиск ToggleButton в этом поддереве. Чтобы найти представление в этом случае, мы используем шаблон 'ON|OFF', поэтому состояние не имеет значения, так как наша цель - его переключение:

parent = vc.findViewWithTextOrRaise('Bluetooth').getParent().getParent()
vc.findViewWithTextOrRaise(re.compile('ON|OFF'), root=parent).touch()

Это, пожалуй, лучшее решение. Однако есть альтернатива, которая также может удовлетворить ваши потребности, и ее гораздо проще получить.

Запустите culebra, чтобы сгенерировать шаблон скрипта:

$ culebra -i off -t on -d on -C -j on -o ~/tmp/bluetooth.py

затем вы видите в скрипте что-то вроде (может варьироваться в зависимости от уровня API и устройства):

# class=android.widget.TextView text="Bluetooth"
no_id26 = vc.findViewWithTextOrRaise('Bluetooth')

# class=android.widget.Switch text="OFF"
no_id27 = vc.findViewWithTextOrRaise('OFF')

Итак, если вы просто добавите

no_id27.touch()

к сценарию, он будет переключать Bluetooth каждый раз, когда вы его запускаете.

person Diego Torres Milano    schedule 09.05.2013
comment
Спасибо большое. Я не пробовал Culebra, но первое предложение отлично работает. - person user2344495; 10.05.2013