I removed MonkeyRunner for AndroidViewClient to take advantage of its added reliability and ease of implementation (thank God for pure Python).
I need to execute a few device.touch () events as quickly as possible, however AndroidViewClient seems to reach significantly slower than MonkeyRunner.
Here is the code I used for both of them:
for iteration in range(1,6):
ts_start = datetime.datetime.now()
device.touch(1,1,'DOWN_AND_UP')
chrono = datetime.datetime.now() - ts_start
print str(iteration)+': '+str(chrono)
Here's the output of MonkeyRunner:
1: 0:00:00.003000
2: 0:00:00.002001
3: 0:00:00.002001
4: 0:00:00.002001
5: 0:00:00.002000
Here is the output of AVC:
1: 0:00:00.460000
2: 0:00:00.515000
3: 0:00:00.499000
4: 0:00:00.508000
5: 0:00:00.456000
This is about 200 times slower on average.
It seems that you can store events in a binary file, and then click and run it directly on the phone. However, I would like to take a clean approach to AVC.
Is it possible?
Edit:
, , , .
:
():
sendevent /dev/input/event1 3 57 0
sendevent /dev/input/event1 3 55 0
sendevent /dev/input/event1 3 53 640
sendevent /dev/input/event1 3 54 900
sendevent /dev/input/event1 3 58 1
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 3 57 0
sendevent /dev/input/event1 3 55 0
sendevent /dev/input/event1 3 53 640
sendevent /dev/input/event1 3 54 730
sendevent /dev/input/event1 3 58 1
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 3 57 0
sendevent /dev/input/event1 3 55 0
sendevent /dev/input/event1 3 53 500
sendevent /dev/input/event1 3 54 900
sendevent /dev/input/event1 3 58 1
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 0 2 0
sendevent /dev/input/event1 0 0 0
, , MonkeyRunner.