AndroidViewClient中device.drag方法的参数是什么?

What are the parameters in device.drag method in AndroidViewClient?

拖动方法中的方向参数有什么作用? 此外,当我更改持续时间 and/or 步长时,它并没有太大的区别

vc.device.drag(开始、结束、持续时间、步骤、方向):

看一下源码(Open Source之最):

def drag(self, (x0, y0), (x1, y1), duration, steps=1, orientation=-1):
    '''
    Sends drag event in PX (actually it's using C{input swipe} command).

    @param (x0, y0): starting point in PX
    @param (x1, y1): ending point in PX
    @param duration: duration of the event in ms
    @param steps: number of steps (currently ignored by @{input swipe})
    @param orientation: the orientation (-1: undefined)
    '''

    self.__checkTransport()
    if orientation == -1:
        orientation = self.display['orientation']
    (x0, y0) = self.__transformPointByOrientation((x0, y0), orientation, self.display['orientation'])
    (x1, y1) = self.__transformPointByOrientation((x1, y1), orientation, self.display['orientation'])

    version = self.getSdkVersion()
    if version <= 15:
        raise RuntimeError('drag: API <= 15 not supported (version=%d)' % version)
    elif version <= 17:
        self.shell('input swipe %d %d %d %d' % (x0, y0, x1, y1))
    else:
        self.shell('input touchscreen swipe %d %d %d %d %d' % (x0, y0, x1, y1, duration))

此外,请记住 AndroidViewClient 和 culebra 的主要目标之一是生成可以 运行 在广泛条件下进行的测试,而不仅仅是在它们出现时出现的测试产生。您可以 运行 在不同的设备、屏幕或分辨率上进行相同的测试。此外,您可以 运行 在不同的 方向下进行相同的测试 并且您不希望测试受到该事实的影响,那么当生成测试时 方向 被保存,如果 运行 设备被旋转,坐标最终会被转换。

duration 用法取决于 android 版本,如您在源代码中所见。

如前所述,

步骤目前被忽略。