appium+python自动化48-长按(long_press)

前言

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

定位ListView

1.先看看哪些场景是ListView

1070438-20180516103420777-842484337.png

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

1070438-20180516103534557-1426737876.png

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值