zoukankan      html  css  js  c++  java
  • Appium之模拟手势点击坐标(tap)

    tap模拟手势点击坐标

    tap是通过给定坐标,模拟手势点击页面上的元素。

    参数:第一个是positions,是list类型最多五个(元组表示),duration是持续时间,单位为ms。函数原型如下:

    tap(positions, duration=None)
    如:driver.tap([(100, 20), (100, 60), (100, 100)], 500)

    实践操作:

    打开“小猿搜题app”,点击“猿辅导” -》搜索框,并录入“熊猫”进行查找。

    思路:先通过weditor工具找到需要点击的坐标点,再在脚本中使用坐标作为参数。

    1、工具定位坐标点

    2、脚本源码

    from appium import webdriver
    from time import sleep
    from appium.webdriver.common.touch_action import TouchAction
    
    desired_caps = {
        'autoLaunch': 'True',
        'deviceName': 'honor10',
        'platformName': 'Android',
        'platformVersion': '10.0',
        'appPackage': 'com.fenbi.android.solar',
        'appActivity': 'com.fenbi.android.solar.activity.RouterActivity',
        'noReset': 'True',
        "unicodeKeyboard": "True",  # 使用unicode编码方式发送字符串(以便键盘输入中文)
        "resetKeyboard": "True",    # 在运行具有unicodeKeyboard功能的Unicode测试之后,将键盘重置为其原始状态。若单独使用,则忽略。(后需手动进入系统修改回原键盘输入法)
    }
    driver = webdriver.Remote('127.0.0.1:4723/wd/hub', desired_caps)
    sleep(3)
    TouchAction(driver).tap(x=326, y=2150).release().perform()
    # driver.tap([(326, 2211)], 500)    # 有点奇怪,若使用此处的tap函数,不会报错2211已超出宽高(实际宽高为1080*2190),上一行的tap函数则会包错,但最后调用的也是同一方法...
    # size = driver.get_window_size()
    # width = size['width']         # 由于不同手机的宽高像素不同,所以坐标点可改用宽高像素占比的百分比来表示
    # height = size['height']
    # driver.tap([(width*0.448, height*0.981)])
    driver.tap([(875, 150)], 500)
    sleep(5)
    driver.find_element_by_id("com.fenbi.android.solar:id/search_bar").send_keys("熊猫")  # 报错Message: Cannot set the element to '熊猫'. Did you interact with the correct element?
    sleep(5)
    driver.tap([(987, 159)])
    sleep(3)
  • 相关阅读:
    Ftp、Ftps与Sftp之间的区别
    Previous Workflow Versions in Nintex Workflow
    Span<T>
    .NET Core 2.0及.NET Standard 2.0 Description
    Announcing Windows Template Studio in UWP
    安装.Net Standard 2.0, Impressive
    SQL 给视图赋权限
    Visual Studio for Mac中的ASP.NET Core
    How the Microsoft Bot Framework Changed Where My Friends and I Eat: Part 1
    用于Azure功能的Visual Studio 2017工具
  • 原文地址:https://www.cnblogs.com/Maruying/p/13621852.html
Copyright © 2011-2022 走看看