|
1 | | -#! /usr/bin/env monkeyrunner |
| 1 | +#! /usr/bin/env python |
2 | 2 | ''' |
3 | 3 | Copyright (C) 2012 Diego Torres Milano |
4 | 4 | Created on Oct 12, 2012 |
|
11 | 11 | import sys |
12 | 12 | import os |
13 | 13 |
|
14 | | -# This must be imported before MonkeyRunner and MonkeyDevice, |
15 | | -# otherwise the import fails. |
16 | | -# PyDev sets PYTHONPATH, use it |
17 | | -try: |
18 | | - for p in os.environ['PYTHONPATH'].split(':'): |
19 | | - if not p in sys.path: |
20 | | - sys.path.append(p) |
21 | | -except: |
22 | | - pass |
23 | | - |
24 | 14 | try: |
25 | 15 | sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src')) |
26 | 16 | except: |
27 | 17 | pass |
28 | 18 |
|
29 | 19 | from com.dtmilano.android.viewclient import ViewClient |
30 | 20 |
|
31 | | -from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice |
32 | 21 |
|
33 | 22 | VPS = "javascript:alert(document.getElementsByTagName('html')[0].innerHTML);" |
34 | | -PACKAGE = 'com.android.browser' |
35 | | -ACTIVITY = '.BrowserActivity' |
36 | | -COMPONENT = PACKAGE + "/" + ACTIVITY |
37 | | -URI = 'http://dtmilano.blogspot.com' |
| 23 | +USE_BROWSER = True |
| 24 | +if USE_BROWSER: |
| 25 | + package = 'com.android.browser' |
| 26 | + activity = '.BrowserActivity' |
| 27 | + _id = 'id/no_id/12' |
| 28 | +else: |
| 29 | + package = 'com.android.chrome' |
| 30 | + activity = 'com.google.android.apps.chrome.Main' |
| 31 | + _id = 'id/no_id/28' |
| 32 | +component = package + "/" + activity |
| 33 | +uri = 'http://dtmilano.blogspot.com' |
38 | 34 |
|
39 | 35 |
|
40 | 36 | device, serialno = ViewClient.connectToDeviceOrExit() |
41 | 37 |
|
42 | | -device.startActivity(component=COMPONENT, uri=URI) |
43 | | -MonkeyRunner.sleep(5) |
| 38 | +device.startActivity(component=component, uri=uri) |
| 39 | +ViewClient.sleep(5) |
44 | 40 |
|
45 | 41 | vc = ViewClient(device=device, serialno=serialno) |
46 | 42 | sdkVersion = vc.getSdkVersion() |
|
49 | 45 | device.drag((240, 180), (240, 420), 1, 20) |
50 | 46 | else: |
51 | 47 | for i in range(10): |
52 | | - device.press('KEYCODE_DPAD_UP', MonkeyDevice.DOWN_AND_UP) |
53 | | - MonkeyRunner.sleep(1) |
| 48 | + device.press('KEYCODE_DPAD_UP') |
| 49 | + ViewClient.sleep(1) |
54 | 50 |
|
55 | | -url = vc.findViewByIdOrRaise('id/url' if sdkVersion > 10 else 'id/title') |
56 | | -url.touch() |
57 | | -MonkeyRunner.sleep(1) |
| 51 | +vc.findViewByIdOrRaise(_id if sdkVersion >= 16 else 'id/url' if sdkVersion > 10 else 'id/title').touch() |
| 52 | +ViewClient.sleep(1) |
58 | 53 |
|
59 | | -device.press('KEYCODE_DEL', MonkeyDevice.DOWN_AND_UP) |
60 | | -for c in VPS: |
61 | | - device.type(c) |
62 | | -MonkeyRunner.sleep(1) |
63 | | -device.press('KEYCODE_ENTER', MonkeyDevice.DOWN_AND_UP) |
64 | | -MonkeyRunner.sleep(3) |
| 54 | +device.press('KEYCODE_DEL') |
| 55 | +device.type(VPS) |
| 56 | +ViewClient.sleep(1) |
| 57 | +device.press('KEYCODE_ENTER') |
| 58 | +ViewClient.sleep(3) |
65 | 59 |
|
66 | 60 | vc.dump() |
67 | | -print vc.findViewByIdOrRaise('id/message').getText().replace('\\n', "\n") |
| 61 | +print vc.findViewByIdOrRaise('id/no_id/11' if sdkVersion >= 16 else 'id/message').getText().replace('\\n', "\n") |
68 | 62 |
|
69 | | -device.press('KEYCODE_BACK' if sdkVersion > 10 else 'KEYCODE_ENTER', MonkeyDevice.DOWN_AND_UP) |
| 63 | +device.press('KEYCODE_BACK' if sdkVersion > 10 else 'KEYCODE_ENTER') |
0 commit comments