2015-08-20 2 views
-1

Я пытаюсь запустить этот кусок кода на языке python, чтобы узнать, как использовать uiautomator для тестирования Android.скрипт python не работает, но команда отдельной оболочки делает

from uiautomator import device as d 
d(index = 2, className='android.widget.TextView').click() #menu button 
print 'inside menu button' 
d(text='People', className='android.widget.TextView').click() #contacts 
print 'inside contacts' 
#loop to add a contact 
d(resourceId= 'com.android.contacts:id/menu_add_contact', className='android.widget.TextView').click() 

Этот фрагмент кода не работает, когда я запустить его как питон скрипт python add_contact.py

однако, когда я запустить его последовательно, как это.

python #enters the shell 
from uiautomator import device as d 
d(index = 2, className='android.widget.TextView').click() #menu button 
d(text='People', className='android.widget.TextView').click() #contacts 
d(resourceId= 'com.android.contacts:id/menu_add_contact', className='android.widget.TextView').click() 

В основном то, что я сделал, чтобы войти в оболочку Python и введите команды, один за другим, а не запустить его в качестве сценария. Результатом является то, что значок книги контактов не нажимается в скрипте, а вводит его вручную, это сработает.

+0

Что делает "не работает" означает? – Cyphase

+0

@Cyphase команда не запускается – aceminer

+0

, но какая-либо печать, когда она не запускается –

ответ

0

Видимо, я решил это через этот код.

from uiautomator import device as d 
d(index = 2, className='android.widget.TextView').click() #menu button 
print 'inside menu button' 
d(index='15', className='android.widget.TextView').click() #contacts 
print 'inside contacts' 
#loop to add a contact 
d(resourceId= 'com.android.contacts:id/menu_add_contact', className='android.widget.TextView').click() 

Это может быть проблемой задержки

путем изменения

d(text='People', className='android.widget.TextView').click() #contacts 

этой

d(index='15', className='android.widget.TextView').click() #contacts