随笔 - 112  文章 - 0  评论 - 12  阅读 - 62万

appium中的Multiaction(多点触控)的用法

复制代码
# coding: utf-8

from appium.webdriver.common.touch_action import TouchAction
from appium.webdriver.common.multi_action import MultiAction

"""两个手指操作屏幕"""


def pinch(driver):
    """
    两个手指向内滑
    @param driver:
    @return:
    """
    action1 = TouchAction(driver)
    action2 = TouchAction(driver)
    pinch_action = MultiAction(driver)

    x = driver.get_window_size()['width']
    y = driver.get_window_size()['height']

    action1.press(x=x * 0.8, y=y * 0.5).wait(500).move_to(x=x * 0.6, y=y * 0.5).wait(500).release()
    action2.press(x=x * 0.2, y=y * 0.5).wait(500).move_to(x=x * 0.4, y=y * 0.5).wait(500).release()

    pinch_action.add(action1, action2)
    print('start pinch...')
    pinch_action.perform()


def zoom(driver):
    """
    两个手指向外滑
    @param driver:
    @return:
    """
    action1 = TouchAction(driver)
    action2 = TouchAction(driver)
    zoom_action = MultiAction(driver)

    x = driver.get_window_size()['width']
    y = driver.get_window_size()['height']

    action1.press(x=x * 0.4, y=y * 0.5).wait(500).move_to(x=x * 0.2, y=y * 0.5).wait(500).release()
    action2.press(x=x * 0.6, y=y * 0.5).wait(500).move_to(x=x * 0.8, y=y * 0.5).wait(500).release()

    zoom_action.add(action1, action2)
    print("start zoom...")
    zoom_action.perform()
复制代码

 

posted on   凌风子  阅读(233)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示