2016-10-27 8 views
5

अपने Android एप्लिकेशन के परीक्षण करने के लिए अनंत लूप करने के लिए सरल अजगर स्क्रिप्ट बनाने, लेकिन यह केवल सफलतापूर्वक एक बार के माध्यम से चलाता है और बंद हो जाता है।जबकि यह सच है अजगर स्क्रिप्ट चाहिए पाश अनंत लेकिन यह केवल एक बार निष्पादित करता है - Monkeyrunner

# Imports the monkeyrunner modules used by this program 
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 

# Connects to the current device, returning a MonkeyDevice object 
device = MonkeyRunner.waitForConnection('66b6cc0e') 

while True: 
    device.touch (300, 1750, 'DOWN_AND_UP') 
    MonkeyRunner.sleep(3) 
    device.touch(742, 1213, 'DOWN_AND_UP') 
    MonkeyRunner.sleep(10) 
    device.touch(554, 1613, 'DOWN_AND_UP') 
    MonkeyRunner.sleep(10) 

# Push SEND MESSAGE 
device.touch(300, 1750, 'DOWN_AND_UP') 
MonkeyRunner.sleep(3) 
device.touch(742, 1213, 'DOWN_AND_UP') 
MonkeyRunner.sleep(10) 
device.touch(554, 1613, 'DOWN_AND_UP') 
MonkeyRunner.sleep(10) 
+0

'sleep' बाहर समय' अगले चरण में touch' कार्रवाई है? – nullpointer

+0

इसके अलावा 'का उपयोग कर आयात समय time.sleep (10)' – nullpointer

+0

पाश में एक अपवाद अगर यह पकड़ा नहीं है पाश से बाहर हो जाएंगे प्रयास करें। – zvone

उत्तर

0

आप एक try (https://docs.python.org/3/tutorial/errors.html) के भीतर आदेशों में से प्रत्येक होनी चाहिए। यह सिवाय (अर्थात एक कैच-ऑल छोड़कर) एक नंगे है के लिए बेहतर नहीं है, लेकिन आप डीबगिंग के लिए यह कोशिश कर सकते हैं।

0

आप AndroidViewClient/culebra का उपयोग कर सकते हैं जो monkeyruner के बदले में लगभग एक बूंद है लेकिन यह शुद्ध पायथन है।

मैं दिखाने के लिए

#! /usr/bin/env python 

# Imports the monkeyrunner modules used by this program 
#from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 

import re 
import sys 
import os 

from com.dtmilano.android.viewclient import ViewClient 


# Connects to the current device, returning a MonkeyDevice object 
#device = MonkeyRunner.waitForConnection('66b6cc0e') 

kwargs1 = {'ignoreversioncheck': False, 'verbose': False, 'ignoresecuredevice': False} 
device, serialno = ViewClient.connectToDeviceOrExit(**kwargs1) 


while True: 
    print "loop" 
    device.touch (300, 1750, 'DOWN_AND_UP') 
    ViewClient.sleep(3) 
    device.touch(742, 1213, 'DOWN_AND_UP') 
    ViewClient.sleep(10) 
    device.touch(554, 1613, 'DOWN_AND_UP') 
    ViewClient.sleep(10) 

# Push SEND MESSAGE 
device.touch(300, 1750, 'DOWN_AND_UP') 
ViewClient.sleep(3) 
device.touch(742, 1213, 'DOWN_AND_UP') 
ViewClient.sleep(10) 
device.touch(554, 1613, 'DOWN_AND_UP') 
ViewClient.sleep(10) 

इसके अलावा, आप Culebra GUI का लाभ लेने कि कर सकते हैं और स्वचालित रूप से स्क्रिप्ट (या यहां तक ​​कि unittests) इस तरह का जेनरेट करने के लिए बिंदु और यूआई पर क्लिक करके अपनी स्क्रिप्ट में परिवर्तन किए।

संबंधित मुद्दे