python脚本不起作用,但单独的shell命令

时间:2015-08-20 03:04:19

标签: android python shell adb uiautomator

我正在尝试运行这段python代码来学习如何使用uiautomator来进行android测试。

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脚本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 shell并逐个输入命令,而不是将其作为脚本运行。结果是脚本中没有按下联系人书图标但是手动输入它会起作用。

1 个答案:

答案 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