-
Notifications
You must be signed in to change notification settings - Fork 345
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Version 2.3.15 - dump moved to tools - dump-simple.py and dump-simple-lib.py examples created - dump.py prints notice - dump-all-windows-lib.py example created - updated build.xml to produce mixed java/python jar
- Loading branch information
Showing
10 changed files
with
487 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1 @@ | |||
bin/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,2 @@ | |||
eclipse.preferences.version=1 | |||
encoding//tools/culebra=utf-8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,23 +1,42 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<project name="Culebra" default="jar"> | <project name="Culebra" default="jar"> | ||
<property file="ant.properties" /> | <property file="ant.properties" /> | ||
<loadproperties srcFile="project.properties" /> | <loadproperties srcFile="project.properties" /> | ||
|
|
||
<property name="versionRE" value="^\s*__version__\s*=\s*'(.*)'\s*$" /> | <property name="versionRE" value="^\s*__version__\s*=\s*'(.*)'\s*$" /> | ||
<loadfile srcfile="src/com/dtmilano/android/viewclient.py" property="avc.version"> | <loadfile srcfile="src/com/dtmilano/android/viewclient.py" | ||
<filterchain> | property="avc.version"> | ||
<linecontainsregexp> | <filterchain> | ||
<regexp pattern="${versionRE}" /> | <linecontainsregexp> | ||
</linecontainsregexp> | <regexp pattern="${versionRE}" /> | ||
<tokenfilter> | </linecontainsregexp> | ||
<replaceregex pattern="${versionRE}" replace="\1" /> | <tokenfilter> | ||
</tokenfilter> | <replaceregex pattern="${versionRE}" replace="\1" /> | ||
<striplinebreaks /> | </tokenfilter> | ||
</filterchain> | <striplinebreaks /> | ||
</loadfile> | </filterchain> | ||
</loadfile> | |||
|
|||
<target name="jar" depends="compile"> | |||
<echo message="Creating ${avc.jarname} ${avc.version} jar ..." /> | |||
<jar destfile="bin/${avc.jarname}-${avc.version}.jar"> | |||
<fileset dir="src/" excludes="**/*.java" /> | |||
<fileset dir="." includes="tools/*" /> | |||
<fileset dir="bin/classes" /> | |||
<manifest> | |||
<attribute name="Main-Class" | |||
value="com.dtmilano.android.viewclient.ViewClient" /> | |||
</manifest> | |||
</jar> | |||
</target> | |||
|
|||
<target name="clean"> | |||
<delete dir="bin" /> | |||
</target> | |||
|
|||
<target name="compile"> | |||
<mkdir dir="bin/classes" /> | |||
<javac srcdir="src" destdir="bin/classes" /> | |||
</target> | |||
|
|
||
<target name="jar" > | |||
<echo message="Creating ${avc.jarname} ${avc.version} jar ..." /> | |||
<jar destfile="bin/${avc.jarname}-${avc.version}.jar" basedir="src/" /> | |||
</target> | |||
</project> | </project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,27 @@ | |||
#! /usr/bin/env shebang monkeyrunner -plugin $ANDROID_VIEW_CLIENT_HOME/bin/androidviewclient-$ANDROID_VIEW_CLIENT_VERSION.jar @! | |||
# | |||
# Linux: | |||
#! /usr/local/bin/shebang monkeyrunner -plugin $AVC_HOME/bin/androidviewclient-$AVC_VERSION.jar @! | |||
# | |||
# Other: | |||
#! /path/to/monkeyrunner -plugin /path/to/androidviewclient/bin/androidviewclient-2.3.14.jar | |||
# | |||
# No shebang: | |||
# c:>path\to\monkeyrunner -plugin \path\to\androidviewclient-2.3.13.jar dump-all-windows-lib.py | |||
|
|||
''' | |||
Copyright (C) 2012 Diego Torres Milano | |||
Created on Apr 30, 2013 | |||
@author: diego | |||
''' | |||
|
|||
from com.dtmilano.android.viewclient import ViewClient | |||
|
|||
kwargs2 = {'autodump': False} | |||
vc = ViewClient(*ViewClient.connectToDeviceOrExit(), **kwargs2) | |||
windows = vc.list() | |||
for wId in windows.keys(): | |||
print ">>> window=", wId, windows[wId] | |||
vc.dump(window=wId) | |||
vc.traverse(transform=ViewClient.TRAVERSE_CIT, indent=" ") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,21 @@ | |||
#! /usr/bin/env shebang monkeyrunner -plugin $ANDROID_VIEW_CLIENT_HOME/bin/androidviewclient-$ANDROID_VIEW_CLIENT_VERSION.jar @! | |||
# | |||
# Linux: | |||
#! /usr/local/bin/shebang monkeyrunner -plugin $AVC_HOME/bin/androidviewclient-$AVC_VERSION.jar @! | |||
# | |||
# Other: | |||
#! /path/to/monkeyrunner -plugin /path/to/androidviewclient/bin/androidviewclient-2.3.14.jar | |||
# | |||
# No shebang: | |||
# c:>path\to\monkeyrunner -plugin \path\to\androidviewclient-2.3.13.jar dump-simple-lib.py | |||
|
|||
''' | |||
Copyright (C) 2012 Diego Torres Milano | |||
Created on Apr 30, 2013 | |||
@author: diego | |||
''' | |||
|
|||
from com.dtmilano.android.viewclient import ViewClient | |||
|
|||
ViewClient(*ViewClient.connectToDeviceOrExit()).traverse(transform=ViewClient.TRAVERSE_CIT) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,30 @@ | |||
#! /usr/bin/env monkeyrunner | |||
''' | |||
Copyright (C) 2012 Diego Torres Milano | |||
Created on Apr 30, 2013 | |||
@author: diego | |||
''' | |||
|
|||
|
|||
import sys | |||
import os | |||
|
|||
# This must be imported before MonkeyRunner and MonkeyDevice, | |||
# otherwise the import fails. | |||
# PyDev sets PYTHONPATH, use it | |||
try: | |||
for p in os.environ['PYTHONPATH'].split(':'): | |||
if not p in sys.path: | |||
sys.path.append(p) | |||
except: | |||
pass | |||
|
|||
try: | |||
sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src')) | |||
except: | |||
pass | |||
|
|||
from com.dtmilano.android.viewclient import ViewClient | |||
|
|||
ViewClient(*ViewClient.connectToDeviceOrExit()).traverse(transform=ViewClient.TRAVERSE_CIT) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,87 +1,9 @@ | |||
#! /usr/bin/env monkeyrunner | #! /usr/bin/env monkeyrunner | ||
''' | |||
Copyright (C) 2012 Diego Torres Milano | |||
Created on Feb 3, 2012 | |||
@author: diego | |||
''' | |||
|
|||
|
|||
import sys | |||
import os | |||
import getopt | |||
|
|||
# This must be imported before MonkeyRunner and MonkeyDevice, | |||
# otherwise the import fails. | |||
# PyDev sets PYTHONPATH, use it | |||
try: | |||
for p in os.environ['PYTHONPATH'].split(':'): | |||
if not p in sys.path: | |||
sys.path.append(p) | |||
except: | |||
pass | |||
|
|||
try: | |||
sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src')) | |||
except: | |||
pass | |||
|
|
||
from com.dtmilano.android.viewclient import ViewClient | print ''' | ||
Notice: | |||
------- | |||
'dump.py' was moved to the 'tools' directory and renamed 'dump'. | |||
A simpler example is now in 'dump-simple.py'. | |||
HELP = 'help' | ''' | ||
VERBOSE = 'verbose' | |||
IGNORE_SECURE_DEVICE = 'ignore-secure-device' | |||
FORCE_VIEW_SERVER_USE = 'force-view-server-use' | |||
DO_NOT_START_VIEW_SERVER = 'do-not-start-view-server' | |||
WINDOW = 'window' | |||
UNIQUE_ID = 'uniqueId' | |||
POSITION = 'position' | |||
CONTENT_DESCRIPTION = 'content-description' | |||
CENTER = 'center' | |||
# -u,-s,-p,-v eaten by monkeyrunner | |||
MAP = {'i':ViewClient.TRAVERSE_CITUI, UNIQUE_ID:ViewClient.TRAVERSE_CITUI, | |||
'x':ViewClient.TRAVERSE_CITPS, POSITION:ViewClient.TRAVERSE_CITPS, | |||
'd':ViewClient.TRAVERSE_CITCD, CONTENT_DESCRIPTION:ViewClient.TRAVERSE_CITCD, | |||
'c':ViewClient.TRAVERSE_CITC, CENTER:ViewClient.TRAVERSE_CITC, | |||
} | |||
SHORT_OPTS = 'HVIFSw:ixdc' | |||
LONG_OPTS = [HELP, VERBOSE, IGNORE_SECURE_DEVICE, FORCE_VIEW_SERVER_USE, | |||
DO_NOT_START_VIEW_SERVER, WINDOW + '=', | |||
UNIQUE_ID, POSITION, CONTENT_DESCRIPTION, CENTER] | |||
|
|||
def usage(exitVal=1): | |||
print >> sys.stderr, 'usage: dump.py [-H|--%s] [-V|--%s] [-I|--%s] [-F|--%s] [-S|--%s] [-w|--%s=WINDOW] [-i|--%s] [-x|--%s] [-d|--%s] [-c|--%s] [serialno]' % \ | |||
tuple(LONG_OPTS) | |||
sys.exit(exitVal) | |||
|
|||
try: | |||
opts, args = getopt.getopt(sys.argv[1:], SHORT_OPTS, LONG_OPTS) | |||
sys.argv[1:] = args | |||
except getopt.GetoptError, e: | |||
print >>sys.stderr, 'ERROR:', str(e) | |||
usage() | |||
|
|||
kwargs1 = {VERBOSE: False, 'ignoresecuredevice': False} | |||
kwargs2 = {'forceviewserveruse': False, 'startviewserver': True, 'autodump': False} | |||
options = {WINDOW: -1} | |||
transform = ViewClient.TRAVERSE_CIT | |||
for o, a in opts: | |||
o = o.strip('-') | |||
if o in ['H', HELP]: | |||
usage(0) | |||
elif o in ['V', VERBOSE]: | |||
kwargs1[VERBOSE] = True | |||
elif o in ['I', IGNORE_SECURE_DEVICE]: | |||
kwargs1['ignoresecuredevice'] = True | |||
elif o in ['F', FORCE_VIEW_SERVER_USE]: | |||
kwargs2['forceviewserveruse'] = True | |||
elif o in ['S', DO_NOT_START_VIEW_SERVER]: | |||
kwargs2['startviewserver'] = False | |||
elif o in ['w', WINDOW]: | |||
options[WINDOW] = a | |||
else: | |||
transform = MAP[o] | |||
|
|||
vc = ViewClient(*ViewClient.connectToDeviceOrExit(**kwargs1), **kwargs2) | |||
vc.dump(window=options[WINDOW]) | |||
vc.traverse(transform=transform) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.