monkeyrunner等待网络登录结果

时间:2013-09-09 09:06:40

标签: android monkeyrunner

使用monkeyrunner测试我的应用程序连接xmpp服务器时遇到问题。 单击登录按钮后,将尝试连接xmpp服务器。

#press login button print "press login button" easy_device.touch(By.id('id/loginlogin'),MonkeyDevice.DOWN_AND_UP)

如果成功连接到xmpp服务器,textview将显示“success”,或者显示“failed”。 我想从textview获取文本格式然后收集日志,直到textview获得xmpp连接结果。

targetText = 'success'
running = True;
while running:
    getText = easy_device.getText(By.id('id/gridviewTitle')).encode('utf-8')
    print getText
    if getText.find('success') < 0:
        print 'not find success'
        MonkeyRunner.sleep(6)
    else:
        print 'find success'
        running = False
else:
    print 'While loop over'

我得到了记录:

def log(fn, device):
    msg = device.shell('logcat -v time -d')
    f_log = open(fn, 'at')
    if msg is None:
        msg = 'None'
    f_log.write(msg.encode('utf-8'))
    f_log.close()   
    device.shell('logcat -c')

print 'Write logs'
log(logcatname, device) # Write logs

当我运行monkeyrunner脚本时,我也检查了logcat形式的Eclipse。 我发现连接线程被挂起,并且在monkeyrunner脚本运行完成后,它继续连接到xmpp服务器。 这是来自Eclipse的日志:

09-09 16:59:24.954: I/Androidpn_ServiceManager(20901): serviceThread.start
09-09 16:59:24.957: I/Androidpn_ServiceManager(20901): serviceThread.run
09-09 16:59:25.082: D/Androidpn_NotificationService(20901): onStart()...
09-09 16:59:49.428: D/Androidpn_NotificationService(21155): onCreate()...
09-09 16:59:49.494: D/Androidpn_NotificationService(21155): deviceId=860898020057333
09-09 16:59:49.510: D/Androidpn_NotificationService(21155): onStart()...

在NotificationService strat大约25s之后,这个线程在monokeyrunner脚本完成后继续运行。 这导致我无法获取连接日志。 我试图在检查结果表格textview之前增加MonkeyRunner.sleep(30),但没有帮助,似乎monkeyrunner此刻只调用一个线程。 有谁可以帮我这个吗?在此先感谢!!!

0 个答案:

没有答案