有没有一种方法可以使用appium提供非同步的触摸手势链?

时间:2020-02-15 11:13:21

标签: ios appium appium-ios python-appium

我正在尝试使用Appium python客户端为iOS应用程序编写UI测试。我正在尝试实现以下目标-

手指1: 1)在0秒内触及(100,800) 2)10秒后触碰

手指2: 1)在0秒内按下(200,800) 2)10秒后触碰

手指3: 1)1秒钟没有活动 2)在1秒内触及(100,100) 3)将触摸拖到(500,500) 4)在9秒后触碰

我已经编写了以下代码来实现我想要的-

    actionBuilder = ActionBuilder(driver)

    finger1 = actionBuilder.add_pointer_input(POINTER_TOUCH, 'finger 1')
    finger1.create_pointer_move(x=100, y=800, duration=0, origin='viewport')
    finger1.create_pointer_down(MouseButton.LEFT)
    finger1.create_pause(pause_duration=10)
    finger1.create_pointer_up(MouseButton.LEFT)

    finger2 = actionBuilder.add_pointer_input(POINTER_TOUCH, 'finger 2')
    finger2.create_pointer_move(x=200, y=800, duration=0, origin='viewport')
    finger2.create_pointer_down(MouseButton.LEFT)
    finger2.create_pause(pause_duration=10)
    finger2.create_pointer_up(MouseButton.LEFT)

    finger3 = actionBuilder.add_pointer_input(POINTER_TOUCH, 'finger 3')
    finger3.create_pointer_move(x=100, y=100, duration=1000, origin='viewport')
    finger3.create_pointer_down(MouseButton.LEFT)
    finger3.create_pause(pause_duration=8)
    finger3.create_pointer_move(x=500, y=500, duration=0, origin='viewport')
    finger3.create_pointer_up(MouseButton.LEFT)

    actionBuilder.perform()

运行此命令后,我得到的是在最初的1000毫秒内,触摸[手指1,手指2] 可以在屏幕上看到(我在应用程序中使用触摸显示器),但是一旦[Finger 3]的触摸出现在屏幕上,[Finger 1,Finger 2]的触摸就会丢失。 我在这里做错什么了吗?还有其他方法可以实现这一目标吗?

PS:使用create_pause()方法触摸[手指3]时,我还有一个疑问。它不会暂停触摸,但是create_pause()传递的持续时间用于create_pointer_move的触摸移动。

Appium版本:1.15.1

0 个答案:

没有答案