zoukankan      html  css  js  c++  java
  • appium+python自动化48-长按(long_press)

    前言

    长按操作是经常会遇到的场景,通过driver可以直接调出long_press_keycode方法,但是这个方法是长按手机上某个按钮,比如长按电源键,长按home键。
    长按某个元素或者长按屏幕上某个点,就需要用到TouchAction里面提供的long_press操作了

    定位ListView

    1.先看看哪些场景是ListView

    2.像这种listview里面每行记录的id都是一样的,就用前面讲到的list定位,取下标就可以了

    3.定位参考

    # 定位聊天记录列表,选第一个长按
    el = driver.find_elements_by_id("com.tencent.mm:id/apv")[0] 
    

    长按long_press

    1.长按的操作可以用前面讲到的TouchAction类里面的long_press方法操作

    def long_press(self, el=None, x=None, y=None, duration=1000):
            # 作者:上海-悠悠 QQ交流群:512200893
            长按操作,可以传定位的元素对象,也可以传坐标
            el 是定位元素的对象
            x,y是传坐标
            duration是按住的持续时间,默认1000,单位是毫秒    
    

    2.实现方法

    # 长按
    TouchAction(driver).long_press(el).perform()
    

    参考代码

    # coding:utf-8
    from appium import webdriver
    from appium.webdriver.common.touch_action import TouchAction
    import time
    
    # 作者:上海-悠悠 QQ交流群:330467341
    
    desired_caps = {
                    'platformName': 'Android',
                    'platformVersion': '7.0',
                    'deviceName': 'A5RNW18316011440',
                    'appPackage': 'com.tencent.mm',
                    'appActivity': '.ui.LauncherUI',
                    'automationName': 'Uiautomator2',
                    # 'unicodeKeyboard': True,
                    # 'resetKeyboard': True,
                    'noReset': True,
                    # 'chromeOptions': {'androidProcess': 'com.tencent.mm:tools'}
                    }
    
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.implicitly_wait(10)
    
    # 定位聊天记录列表,选第一个长按
    el = driver.find_elements_by_id("com.tencent.mm:id/apv")[0]
    
    # 长按
    TouchAction(driver).long_press(el).perform()
    time.sleep(3)
    
    # 定位选项框‘删除该聊天’
    driver.find_element_by_xpath("//*[@text='删除该聊天']").click()
    time.sleep(3)
    
    # 定位选项框‘取消’
    driver.find_element_by_id("com.tencent.mm:id/alk").click()
    
    
    

    在学习过程中有遇到疑问的,可以appium+python QQ群交流:330467341

  • 相关阅读:
    【甘道夫】通过Mahout构建贝叶斯文本分类器案例具体解释
    hdu 5044 树区间操作最后输出/ lca+dfs
    UVA 1371
    裴蜀定理
    iOS 开发系列:CoreData Object 变成 Fault 的一种方式
    UVa 10633
    校赛热身赛 Problem D. Unsolved Mystery
    校赛热身赛 Problem D. Unsolved Mystery
    NOIP2005普及组第4题 循环
    NOIP2005普及组第4题 循环
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/9044895.html
Copyright © 2011-2022 走看看