『与善仁』Appium基础 — 36.APP模拟手势高级操作(二

2020-12-09  本文已影响0人  繁华似锦Fighting

2、手指按下和抬起操作

一个点击屏幕的操作,可以分为按下和抬起两个操作。

press()方法:模拟手指按下屏幕的操作。

release()方法:表示结束动作,手指离开屏幕

方法介绍:

# press()方法
press(el=None, x=None, y=None)
参数:
    1.element:被定位到的元素
    2.x:通常会使用元素的X轴坐标
    3.y:通常会使用元素的Y轴坐标
    
# release()方法没有参数,执行调用即可

# 调用方式
TouchAction(driver).press(el=None, x=None, y=None).release().perform()

业务场景:

  1. 进入设置

  2. 点击蓝牙选项

代码实现:

"""
1.学习目标
    掌握TouchAction类使用,
        按下press()方法和抬起release()方法的操作
2.操作步骤
    2.1 导入TouchAction类
    2.2 使用press()---按压操作
        press(el=None,x=None,y=None)
            element  元素
            x  坐标
            y  坐标

        release()方法---抬起操作

        使用方式:
            TouchAction(driver).press(el=None, x=None, y=None).release().perform()
3.需求
    使用press()方法和抬起release()方法实现点击设置首页蓝牙按钮
"""

# 1.导入appium和TouchAction
import time
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction

# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
    "platformName": "Android",  # 系统名称
    "platformVersion": "7.1.2",  # 系统版本
    "deviceName": "127.0.0.1:21503",  # 设备名称
    "appPackage": "com.android.settings",  # APP包名
    "appActivity": ".Settings"  # APP启动名
}

# 3.启动APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
time.sleep(2)

# 4.操作APP
# 使用press()方法按下蓝牙按钮,使用release()方法抬起
blue_tooth = driver.find_element_by_android_uiautomator('new UiSelector().text("蓝牙")')
# 如果三个参数都传入,按照元素参数执行,同tap()方法。
TouchAction(driver).press(blue_tooth).release().perform()


# 注意:如果想按住不松手,就单独调用一个press()方法即可。

# 5.关闭APP
time.sleep(5)
driver.quit()

3、等待操作

wait()方法相当于一个动作要持续多长时间。

方法介绍:

# wait()方法,参数单位:毫秒
wait(ms=0)

# 参数:
    ms:暂停的毫秒数
    
# 调用方式
TouchAction(driver).press(el=None, x=None, y=None).wait(5000).perform()

业务场景:

  1. 进入设置

  2. 长按蓝牙选项5秒

代码实现:

"""
1.学习目标
    掌握TouchAction类中等待操作使用
2.操作步骤
    2.1 等待方法  wait(时间,单位ms)
    2.2 调用方式
        TouchAction(driver).press(el=None, x=None, y=None).wait(5000).perform()
3.需求
    在设置app首页长按蓝牙选项5秒
"""

# 1.导入appium和TouchAction
import time
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction

# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
    "platformName": "Android",  # 系统名称
    "platformVersion": "7.1.2",  # 系统版本
    "deviceName": "127.0.0.1:21503",  # 设备名称
    "appPackage": "com.android.settings",  # APP包名
    "appActivity": ".Settings"  # APP启动名
}

# 3.启动APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
time.sleep(2)

# 4.操作APP
# 在设置app首页长按蓝牙选项5秒
# 定位蓝牙元素
blue_tooth = driver.find_element_by_android_uiautomator('new UiSelector().text("蓝牙")')
# 长按蓝牙选项5秒
TouchAction(driver).press(blue_tooth).wait(5000).perform()
# 也可以长安蓝牙选项5秒之后把手抬起操作,如下调用方式:
# TouchAction(driver).press(blue_tooth).wait(5000).release().perform()

# 5.关闭APP
time.sleep(5)
driver.quit()

4、手指长按操作

long_press()模拟手机按下屏幕一段时间。

方法介绍:

# long_press()方法
long_press(el=None, x=None, y=None, duration=1000)

参数:
    1.element:被定位到的元素。
    2.x:通常会使用元素的X轴坐标。
    3.y:通常会使用元素的Y轴坐标。
    4.duration:持续时间,默认为1000ms。
    
# 调用方式
TouchAction(driver).long_press(el=None, x=None, y=None, duration=1000).release().perform()

业务场景:

  1. 进入设置

  2. 长按蓝牙选项

代码实现:

"""
1.学习目标
    掌握TouchAction类长按操作使用
2.操作步骤
    2.1 长按  long_press(el=None, x=None, y=None, duration=1000)
        参数:
        1.element:被定位到的元素。
        2.x:通X轴坐标。
        3.y:Y轴坐标。
        4.duration:持续时间,默认为1000ms。
3.需求
    在设置app首页长按蓝牙选项
"""

# 1.导入appium和TouchAction
import time
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction

# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
    "platformName": "Android",  # 系统名称
    "platformVersion": "7.1.2",  # 系统版本
    "deviceName": "127.0.0.1:21503",  # 设备名称
    "appPackage": "com.android.settings",  # APP包名
    "appActivity": ".Settings"  # APP启动名
}

# 3.启动APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
time.sleep(2)

# 4.操作APP
# 在设置app首页长按蓝牙选项
blue_tooth = driver.find_element_by_android_uiautomator('new UiSelector().text("蓝牙")')
TouchAction(driver).long_press(el=blue_tooth, duration=5000).release().perform()

# 5.关闭APP
time.sleep(5)
driver.quit()

说明:long_press()方法就相当于press()方法和wait()方法的封装。

上一篇下一篇

猜你喜欢

热点阅读