51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2852|回复: 0
打印 上一主题 下一主题

[转贴] Appium滑动屏幕(2)——TouchAction

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-9-15 10:48:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    除了swipe(self, start_x, start_y, end_x, end_y, duration=None)函数支持模拟屏幕滑动外,具体操作可以参考文章Appium滑动屏幕(1)——swipe,我们还可以使用TouchAction(driver)类来实现,这个类提供了短按压press()方法,wait()方法,move_to()方法,release()方法,perform()方法等常用的方法。大致使用如下:
    方法:press(element, x, y)
    说明:表示按压的动作,element参数是一个元素对象,当element不为None时,x和y必须为None,如果element为None时,x如果不为None,那么y也不能为None。也就是说,在安卓操作系统中,element和(x,y)必须要传递一个,苹果系统可以不传。
    方法:move_to(element, x, y)
    说明:表示移动去哪里,element参数是一个元素对象,当element不为None时,x和y必须为None,如果element为None时,x如果不为None,那么y也不能为None。
    方法:wait(duration)
    说明:duration是时间,以毫秒为单位,这个方法的作用是等待一段时间,和sleep的作用类似,唯一区别是,sleep不能被TouchAtion对象访问。
    方法:release()
    说明:结合press等按压动作使用的,表示抬起动作。
    方法:perform()
    说明:使所有的按压press,等待wait,抬起release等动作生效。
    以上滑操作为例,部分代码如下:
    1、导入相应的包:
    1. #coding=utf-8

    2. from appium import webdriver

    3. import time

    4. from appium.webdriver.common.touch_action import TouchAction

    5. from selenium.webdriver.support.wait import WebDriverWait
    复制代码
    2、获取手机屏幕的大小:
    1. def get_phone_size(driver):

    2.     """获取手机屏幕的大小"""

    3.     width = driver.get_window_size()['width']  # 获取手机屏幕的宽

    4.     height = driver.get_window_size()['height']  # 获取手机屏幕的高

    5.     return width, height
    复制代码
    3、上滑操作:
    1. def swipe_up(driver, duration=300):

    2.     """上滑操作"""

    3.     width, height = get_phone_size(driver)

    4.     start_x , start_y = 1/2 * width ,3/4 * height

    5.     end_x , end_y = 1/2 * width , 1/4 * height

    6. TouchAction(driver).press(None, start_x, start_y).wait(duration).move_to(None, end_x, end_y).release().perform()#这句代码等价于滑动操作swipe
    复制代码
    4、调用上滑函数来执行:
    1. time.sleep(1)

    2. swipe_up(driver)
    复制代码
    作者:静静地就好
    链接:https://www.jianshu.com/p/28826d463c40
    来源:简书




    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 03:32 , Processed in 0.063439 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表