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 版本,如您在源代码中所见。
如前所述,步骤目前被忽略。
拖动方法中的方向参数有什么作用? 此外,当我更改持续时间 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 版本,如您在源代码中所见。
如前所述,步骤目前被忽略。