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交流群:512200893 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()

(0)

相关推荐

  • appium

    文章目录 appium 1.appium可以测试的对象 2.自动化混合APP的条件 3.总结 4.查看webview版本 5.APP面试点 6.代码部分 方式1: 设置搜索webview 方式2: 输 ...

  • Appium+python自动化9-SDK Manager

    前言 SDK Manager到有哪些东西是必须安装的呢? 一.SDK Manager 1.双击打开SDK Manager界面 2.Tools里面前三个是必须下载的 --Android SDK Tool ...

  • Appium+python自动化10-AVD 模拟器

    前言 有些小伙伴没android手机,这时候可以在电脑上开个模拟器玩玩 一.模拟器配置 1.双击启动AVD Manager,进入配置界面 2.点Create按钮创建 3.配置模拟器基本信息 --AVD ...

  • Appium+python自动化11-adb必知必会

    前言 学android测试,adb是必学的,有几个常用的指令需要熟练掌握 一.检查设备 1.如何检查手机(或模拟器)是连上电脑的,在cmd输入: >adb devices 2.一定要看到上图红色 ...

  • Appium+python自动化12-appium元素定位

    前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一.id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性 ...

  • Appium+python自动化13-native和webview切换

    前言 现在大部分app都是混合式的native+webview,对应native上的元素通过uiautomatorviewer很容易定位到,webview上的元素就无法识别了. (手机上要先装个百度阅 ...

  • Appium+python自动化14-查看webview上元素(DevTools)

    前言 app上webview的页面实际上是启用的chrome浏览器的内核加载的,如何把手机的网页加载到电脑上,电脑的chrome浏览器上有个开发模式,是可以方便调试的. 一.环境准备 1.手机上装一个 ...

  • Appium+python自动化15-Mac上环境搭建

    前言 mac上搭建appium+python的环境还是有点复杂的,需要准备的软件 1.nodejs 2.npm 3.cnpm 4.appium 5.pip 6.Appium-Python-Client ...

  • Appium+python自动化16-启动ios上Safari浏览器

    前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器.后来全部升级最新版本,就稳稳的了.本篇介绍如何用appium启动ios上的safari浏览器,然后可以用手机上浏览器做w ...

  • Appium+python自动化17-启动iOS模拟器APP源码案例

    前言 上一篇已经可以启动iOS模拟器上的safari浏览器了,启动app比启动浏览器要复杂一点,本篇以github上的源码为案例详细介绍如何启动iOS模拟器的app. 一.clone源码 1.gith ...