Skip to content

Commit dd7d460

Browse files
committed
Escape special chars in slector
1 parent 70b0c6e commit dd7d460

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

src/com/dtmilano/android/uiautomator/uiautomatorhelper.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
@author: Diego Torres Milano
1919
'''
2020

21-
__version__ = '11.4.1'
21+
__version__ = '11.5.0'
2222

2323
import os
2424
import subprocess
@@ -238,6 +238,8 @@ def findObject(self, **kwargs):
238238
raise RuntimeError('findObject: resourceId or selector must have a value')
239239
response = self.__httpCommand('/UiDevice/findObject', params)
240240
# { "status": "OK", "oid": 1, "className": "android.view.View"}
241+
if DEBUG:
242+
print >> sys.stderr, "UiAutomatorHelper: findObject: response=", response
241243
r = json.loads(response)
242244
if r[u'status'] == 'OK':
243245
if DEBUG:

src/com/dtmilano/android/viewclient.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -950,18 +950,22 @@ def touch(self, eventType=adbclient.DOWN_AND_UP, deltaX=0, deltaY=0):
950950
else:
951951
self.device.touch(x, y, eventType=eventType)
952952

953+
def escapeSelectorChars(self, selector):
954+
_s = selector.replace('@', '\\@')
955+
return _s
956+
953957
def obtainSelectorForView(self):
954958
selector = ''
955959
if self.getContentDescription():
956-
selector += 'desc@' + self.getContentDescription()
960+
selector += 'desc@' + self.escapeSelectorChars(self.getContentDescription())
957961
if self.getText():
958962
if selector:
959963
selector += ','
960-
selector += 'text@' + self.getText()
964+
selector += 'text@' + self.escapeSelectorChars(self.getText())
961965
if self.getId():
962966
if selector:
963967
selector += ','
964-
selector += 'res@' + self.getId()
968+
selector += 'res@' + self.escapeSelectorChars(self.getId())
965969
return selector
966970

967971
def longTouch(self, duration=2000):

0 commit comments

Comments
 (0)