Skip to content

Commit fbcf3f0

Browse files
committed
Fixed indentation problem (affecting ANDROID_SERIAL environment variable
consideration) - Added serialno as argument test - Cleanup the environment
1 parent 3ff051c commit fbcf3f0

2 files changed

Lines changed: 28 additions & 6 deletions

File tree

AndroidViewClient/src/com/dtmilano/android/viewclient.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,9 +1040,10 @@ def connectToDeviceOrExit(timeout=60, verbose=False, ignoresecuredevice=False, s
10401040
progname = os.path.basename(sys.argv[0])
10411041
if serialno is None:
10421042
# eat all the extra options the invoking script may have added
1043+
# FIXME: perhaps we should restore the popped arguments
10431044
while len(sys.argv) > 1 and sys.argv[1][0] == '-':
10441045
sys.argv.pop(1)
1045-
serialno = sys.argv[1] if len(sys.argv) > 1 else \
1046+
serialno = sys.argv[1] if len(sys.argv) > 1 else \
10461047
os.environ['ANDROID_SERIAL'] if os.environ.has_key('ANDROID_SERIAL') \
10471048
else '.*'
10481049
if verbose:
@@ -1081,7 +1082,7 @@ def connectToDeviceOrExit(timeout=60, verbose=False, ignoresecuredevice=False, s
10811082
return device, serialno
10821083

10831084
@staticmethod
1084-
def traverseShowClassIdAndText(view, extraInfo=None):
1085+
def traverseShowClassIdAndText(view, extraInfo=None, noextrainfo=None):
10851086
'''
10861087
Shows the View class, id and text if available.
10871088
This function can be used as a transform function to L{ViewClient.traverse()}
@@ -1094,7 +1095,14 @@ def traverseShowClassIdAndText(view, extraInfo=None):
10941095
'''
10951096

10961097
try:
1097-
return "%s %s %s%s" % (view.getClass(), view.getId(), view.getText(), " " + extraInfo(view).__str__() if extraInfo != None else '')
1098+
eis = ''
1099+
if extraInfo:
1100+
eis = extraInfo(view).__str__()
1101+
if not eis and noextrainfo:
1102+
eis = noextrainfo
1103+
if eis:
1104+
eis = ' ' + eis
1105+
return "%s %s %s%s" % (view.getClass(), view.getId(), view.getText(), eis)
10981106
except Exception, e:
10991107
return "Exception in view=%s: %s" % (view.__smallStr__(), e)
11001108

@@ -1122,7 +1130,7 @@ def traverseShowClassIdTextAndContentDescription(view):
11221130
@return: the string containing class, id, and text if available and the content description
11231131
'''
11241132

1125-
return ViewClient.traverseShowClassIdAndText(view, View.getContentDescription)
1133+
return ViewClient.traverseShowClassIdAndText(view, View.getContentDescription, 'NAF')
11261134

11271135
@staticmethod
11281136
def traverseShowClassIdTextAndCenter(view):

AndroidViewClient/tests/com/dtmilano/android/viewclient.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,10 @@ def setUp(self):
4242
self.view = View(VIEW_MAP, None, -1)
4343

4444
def tearDown(self):
45-
pass
45+
try:
46+
del os.environ['ANDROID_SERIAL']
47+
except:
48+
pass
4649

4750
def testViewFactory_View(self):
4851
attrs = {'class': 'android.widget.AnyView', 'text:mText': 'Button with ID'}
@@ -204,7 +207,18 @@ def testConnectToDeviceOrExit_environ(self):
204207
ViewClient.connectToDeviceOrExit(timeout=1, verbose=True)
205208
except exceptions.SystemExit, e:
206209
self.assertEquals(3, e.code)
207-
210+
except java.lang.NullPointerException:
211+
self.fail('Serialno was not taken from environment')
212+
213+
def testConnectToDeviceOrExit_serialno(self):
214+
sys.argv = ['']
215+
try:
216+
ViewClient.connectToDeviceOrExit(timeout=1, verbose=True, serialno='ABC123')
217+
except exceptions.SystemExit, e:
218+
self.assertEquals(3, e.code)
219+
except java.lang.NullPointerException:
220+
self.fail('Serialno was not taken from argument')
221+
208222
def testConstructor(self):
209223
device = MockDevice()
210224
vc = ViewClient(device, device.serialno, adb=TRUE, autodump=False)

0 commit comments

Comments
 (0)