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)
  • 相关阅读:
    Bluetooth architecture (HCI/L2CAP)
    堆栈
    Inside the C++ Object Model 深度探索对象模型 57
    Android音乐播放器
    (一)开发板系统安装
    html5的canvas写一个简单的画板程序
    C++ 获取日历时间
    Incremental Differential vs. Incremental Cumulative Backups
    BCB安装控件出现Unresolved external '__fastcall Outline::TCustomOutline
    Windows 环境下配置 Oracle 11gR2 Data Guard 手记
  • 原文地址:https://www.cnblogs.com/Maruying/p/13621852.html
Copyright © 2011-2022 走看看