2013-05-09 7 views
0

AndroidviewClient를 사용하여 블루투스를 토글하려고합니다. 아래는 코드의 일부입니다. 나는 "블루투스"를 발견하고 ID와 텍스트도 얻을 수있다. 그런 다음 토글하기 위해 ON/OFF보기를 얻고 싶습니다. 아래 for 루프에서 인쇄 할 때 3 개의 뷰가 표시되고 그 중 하나는 현재 상태를 기준으로 ON 또는 OFF에 대한 뷰입니다. 이보기에서 for 루프를 체크하여이를 토글하는 방법? 당신의 도움에 대한 감사합니다,androidviewclient를 사용하여 블루투스를 전환하는 방법

BR Srini는

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

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

답변

1

이 솔루션은 '블루투스'보기 조부모를 얻고 그 하위 트리에 ToggleButton을 검색하는 것입니다.

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

이 아마 가장 좋은 솔루션입니다 : 그것은 우리의 목표입니다 전환으로 상태를 문제가되지 않도록, | 우리가 패턴 'OFFON'를 사용이 경우보기를 찾으려면. 그러나 귀하의 필요에 부합 될 수있는 대체 방법이 있으며 얻는 것이 훨씬 쉽습니다. 그래서

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

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

:합니다 (API 레벨 및 장치에 따라 달라질 수 있습니다) 다음

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

, 당신은 같은 스크립트 뭔가를 참조하십시오

실행 culebra 스크립트 템플릿을 생성하는 , 방금 추가하면

no_id27.touch() 

스크립트를 실행할 때마다 블루투스을 토글합니다.

+0

대단히 감사합니다. 나는 Culebra를 시도하지 않았지만 첫 번째 제안은 훌륭하게 작동합니다. – user2344495