open phone's app,openphoneapp,def open_app


def open_app(self, msName, appName):    """ open application from device by app name.        Parameters: msName:AndroidPhone     Android phone being tested.                    appName:Text     Application name to be opened.        Return: 1 if successful, else 0    2012-10-18    """    #Set phone screen size    screen = basefuncInstance.screen_size(msName)    screenX = screen[0]    screenY = screen[1]    #Scale    homeIcon = int(screenY*0.925)    addIconX = int(screenX*0.95)    addIconY = int(screenY*0.09)    leftX = int(screenX*0.1)    rightX = int(screenX*0.9)    midY = int(screenY*0.5)    topY = int(screenY*0.2)    bottomY = int(screenY*0.8)    midX = int(screenX*0.5)    appName = appName.lower()    #Open app list and move to first page of app list    if self.open_app_list(msName) == 0:        return 0    #Find target app    Trace.Log(__name__, "-->Looking for %s app"%appName)    originalStrings = MSAndroid.GetStrings(msName)    originalStrings = originalStrings.lower()    print originalStrings    original = originalStrings.split(';')    original_len = len(original)    for i in range(0, original_len-1):        app = original[i]        print app        apps = app.split(',')        foundText = apps[0]        print foundText        if appName == foundText:            foundText = apps            print foundText            break    '''for app in original:        apps = app.split(',')        foundText = apps[0]        print foundText        if appName == foundText:            foundText = apps            print foundText            break'''    if appName != foundText[0]:        input.click_and_drag(msName, rightX, midY, leftX, midY)        currentStrings = MSAndroid.GetStrings(msName)        currentStrings = currentStrings.lower()        current = currentStrings.split(';')        for i in range(0, len(current)-1):            app = current[i]            apps = app.split(',')            foundText = apps[0]            if appName == foundText:                foundText = apps                break    startTime = time.time()    while appName != foundText[0] and originalStrings.find(currentStrings)==-1 and currentStrings.find(originalStrings)==-1:        originalStrings = currentStrings        input.click_and_drag(msName, rightX, midY, leftX, midY)        currentStrings = MSAndroid.GetStrings(msName)        currentStrings = currentStrings.lower()        for i in range(0, len(currentStrings)-1):            app = currentStrings[i]            apps = app.split(',')            foundText = apps[0]            if appName == foundText:                foundText = apps                break        endTime = time.time()        if (endTime - startTime) > 1800:            Trace.Log(__name__, "Can't recognize current UI")            return 0    if appName != foundText[0]:        Trace.Log(__name__, "Can't find application %s"%appName)        return 0    #launch app    Trace.Log(__name__, "-->Launch %s"%appName)    y = int(foundText[2])    currentText = foundText[0]    x = int(foundText[1])        #make sure x, y is ok    x += 2    y += 2    originalStrings = MSAndroid.GetStrings(msName)    input.tap(msName, x, y, 100)    currentStrings = self.wait_ui_change(msName, originalStrings)    if currentStrings == 0:        input.tap(msName, x, y, 100)        currentStrings = self.wait_ui_change(msName, originalStrings)        if currentStrings == 0:            Trace.Log(__name__, "Can't find application %s"%appName)            return 0    return 1#该片段来自于http://byrx.net

评论关闭