def scroll(self, direction='<STR_LIT>', percent=<NUM_LIT>, duration=<NUM_LIT>):
if direction not in ('<STR_LIT>', '<STR_LIT>'):<EOL><INDENT>raise ValueError('<STR_LIT>'<EOL>.format(repr(direction)))<EOL><DEDENT>start = [<NUM_LIT:0.5>, <NUM_LIT:0.5>]<EOL>half_distance = percent / <NUM_LIT:2><EOL>if direction == '<STR_LIT>':<EOL><INDENT>start[<NUM_LIT:1>] += half_distance<EOL>direction = [<NUM_LIT:0>, -percent]<EOL><DEDENT>else:<EOL><INDENT>start[<NUM_LIT:0>] += half_distance<EOL>direction = [-percent, <NUM_LIT:0>]<EOL><DEDENT>return self.swipe(start, direction=direction, duration=duration)<EOL>
Scroll from the lower part to the upper part of the entire screen.

Args:
    direction (:py:obj:`str`): scrolling direction. "vertical" or "horizontal"
    percent (:py:obj:`float`): scrolling distance percentage of the entire screen height or width according to
     direction
    duration (:py:obj:`float`): time interval in which the action is performed