appium中常见的几种点击方式

目录
  • 1、最常见的点击方式click()方法
  • 2、手指轻敲屏幕操作tap()方法
  • 3、手指按下操作press()方法
  • 4、模拟手指长按操作long_press()方法

首先从appium库里面导入webdriver,然后webdriver.Remote()声明driver对象。
想要使用TouchAction,必须要创建TouchAction对象,通过对象调用想要执行的手势,通过perform()执行动作。

#导入TouchAction
from appium.webdriver.common.touch_action import TouchAction

1、最常见的点击方式click()方法

driver.find_element_by_id("com.android.settings:id/search").click()

2、手指轻敲屏幕操作tap()方法

tap(element,x,y)可以通过元素定位的方式敲击,也可以通过元素坐标的方式。

# 通过元素定位方式敲击屏幕
el = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
TouchAction(driver).tap(el).perform()
#perform()方法发送命令到服务器执行操作
# 通过坐标方式敲击屏幕,元素坐标:x=149,y=324
TouchAction(driver).tap(x=149,y=324).perform()

3、手指按下操作press()方法

press(elemnet,x,y)可以通过元素定位的方式按下,也可以通过元素坐标的方式按下。
release()方法为结束动作,手指按下之后离开屏幕。

# 通过元素定位方式按下屏幕
el = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
TouchAction(driver).press(el).release().perform()
#通过坐标的方式,元素坐标x=149,y=324
TouchAction(driver).press(147,324).release().perform()

4、模拟手指长按操作long_press()方法

长按相对于按下来说增加了按下的时间长短,所以参数多了一个duration单位是毫秒。
long_press(elemnet,x,y,duration)也是可以通过元素定位的方式按下,也可以通过元素坐标的方式按下。

    el =driver.find_element_by_id("android:id/title")
     # 通过元素定位方式长按元素
       TouchAction(driver).long_press(el,duration=5000).release().perform()

     # 通过坐标方式长按元素,WiredSSID坐标:x=770,y=667
     #wait(5000)等待五秒
     # 添加等待(有长按X效果)/不添加等待(无长按效果)
     TouchAction(driver).long_press(x=770,y=667,duration=5000).release().perform()

到此这篇关于appium中常见的几种点击方式的文章就介绍到这了,更多相关appium 点击方式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Appium+python自动化之连接模拟器并启动淘宝APP(超详解)

    简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑版的虚拟手机),然后再安装一款APP-淘宝为例. 一.appium+pycharm+连接夜神模拟器并启动淘宝APP(推荐) 1.首先打开pycharm并写好代码,这里以淘宝APK作为测试Demo,淘宝APK我是放在电脑桌面(或者放置同代码同个目录下).如下图所示 其中|:driver = webdr

  • Python3+Appium安装使用教程

    一.安装 我们知道selenium是桌面浏览器自动化操作工具(Web Browser Automation) appium是继承selenium自动化思想旨在使手机app操作也能自动化的工具(Mobile App Automation Made Awesome). appium可以通过Desktop App和npm两种方式安装.Desktop App类似于selenium IDE提供一个图形界面式操作工具:npm类似于selenium就只能使用命令行. 如果对appium还不太熟悉,推荐使用De

  • Python+Appium实现自动化测试的使用步骤

    一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址http://appium.io/ 点击下载按钮会到GitHub的下载页面,选择对应平台下载 安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK 然后点下

  • 详解基于Android的Appium+Python自动化脚本编写

    1.Appium Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试, 它使用WebDriver协议驱动iOS,Android和Windows应用程序. 通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码. 下面开始Appium的配置. appPackage和APPActivity的获取 任意下载一个app 解压 但是解压出来的xml文件可能是乱码,所以我们需要反编译文件. 逆向AndroidMan

  • Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告

    2020年4月补充 鉴于配置自动化测试这套框架确实稍微有点麻烦,许多小伙伴在配置的过程中总是踩坑,最近写了篇简化版的入门教程,不想折腾Android SDK的小伙伴可以移步到那篇文章:https://www.jb51.net/article/169763.htm 概述 本文主要分为以下几个部分 安装Python3 安装Python3的Appium库 安装Android SDK 安装JDK 安装Appium 安装模拟器 编写测试脚本并生成测试报告 项目示例下载地址: https://github.

  • Python3+Appium实现多台移动设备操作的方法

    需求: 连接本机的(两台安卓手机)或者本机安装的(安卓模拟器两个),实现同时安装本地apk包 . demon.py 特别说明:必须写udid才能实现同时对两台以上的移动设备操作.对deviceName中的值进行修改后是无法区分移动设备的,如果只修改deviceName的value就只能在同一台设备上进行安装了. 下面代码只是基础介绍,扩展到框架中需要根据自己需求做: import os import threading import multiprocessing from appium imp

  • Appium的使用与入门(这款神器你值得拥有)

    从石器时代开始,原始人来已经开始学会制造并使用工具,以满足自己的生活所需,这也是人类和动物最本质的区别,人类懂得制造并使用工具而动物不会. 21 世纪的现代社会更是如此,企业与企业之间是人才的竞争,而人的竞争力则严重依赖其会使用工具的多少以及熟练程度,毕竟古人有云:「君子生非异也,善假于物也」. 软件测试作为软件发布前的最后一个环节,起着至关重要的作用.虽然在很多公司里相对于开发来讲,公司对测试岗都不太重视,但这绝对不能掩盖其地位的重要性,稍有疏漏,就可能给公司带来巨大的损失. 纵观国内各公司大

  • Python脚本在Appium库上对移动应用实现自动化测试

    采用Appium进行自动化的功能性测试最酷的一点是,你可以使用具有最适合你的测试工具的任何一门语言来写你的测试代码.大家选择最多的一个测试编程语言就是Python. 使用Appium和Python为iOS和Android应用编写测试代码非常容易. 在这篇博文中我们将详细讲解使用Appium下的Python编写的测试的例子代码对一个iOS的样例应用进行测试所涉及的各个步骤,而对Android应用进行测试所需的步骤与此非常类似. 开始,先自https://github.com/appium/appi

  • appium中常见的几种点击方式

    目录 1.最常见的点击方式click()方法 2.手指轻敲屏幕操作tap()方法 3.手指按下操作press()方法 4.模拟手指长按操作long_press()方法 首先从appium库里面导入webdriver,然后webdriver.Remote()声明driver对象.想要使用TouchAction,必须要创建TouchAction对象,通过对象调用想要执行的手势,通过perform()执行动作. #导入TouchAction from appium.webdriver.common.t

  • iOS中常见的几种加密方法总结

    前言 在我们日常开发中,加密是必不可少的一部分,而普通加密方法是讲密码进行加密后保存到用户偏好设置中,钥匙串是以明文形式保存,但是不知道存放的具体位置,下面本文将详细给大家介绍iOS中常见的几种加密方法,下面话不多说了,来一起看看详细的介绍吧. 一. base64加密 base64 编码是现代密码学的基础 基本原理: 原本是 8个bit 一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每 两个0 用 一个 = 表示 用base64 编码之后,数据长度会变大,增加了大约 1/3 左右.

  • MySQL中常见的几种日志汇总

    前言: 在 MySQL 系统中,有着诸多不同类型的日志.各种日志都有着自己的用途,通过分析日志,我们可以优化数据库性能,排除故障,甚至能够还原数据.这些不同类型的日志有助于我们更清晰的了解数据库,在日常学习及运维过程中也会和这些日志打交道.本节内容将带你了解 MySQL 数据库中几种常用日志的作用及管理方法. 1.错误日志(errorlog) 错误日志记录着 mysqld 启动和停止,以及服务器在运行过程中发生的错误及警告相关信息.当数据库意外宕机或发生其他错误时,我们应该去排查错误日志. lo

  • java中常见的6种线程池示例详解

    之前我们介绍了线程池的四种拒绝策略,了解了线程池参数的含义,那么今天我们来聊聊Java 中常见的几种线程池,以及在jdk7 加入的 ForkJoin 新型线程池 首先我们列出Java 中的六种线程池如下 线程池名称 描述 FixedThreadPool 核心线程数与最大线程数相同 SingleThreadExecutor 一个线程的线程池 CachedThreadPool 核心线程为0,最大线程数为Integer. MAX_VALUE ScheduledThreadPool 指定核心线程数的定时

  • R语言中常见的几种创建矩阵形式总结

    矩阵概述 R语言的实质实质上是与matlab差不多的,都是以矩阵为基础的 在R语言中,矩阵(matrix)是将数据按行和列组织数据的一种数据对象,相当于二维数组,可以用于描述二维的数据.与向量相似,矩阵的每个元素都拥有相同的数据类型.通常用列来表示来自不同变量的数据,用行来表示相同的数据. R中创建矩阵的语法格式 在R语言中可以使用matrix()函数来创建矩阵,其语法格式如下: matrix(data=NA, nrow = 1, ncol = 1, byrow = FALSE, dimname

  • C语言中常见的几种流程控制语句

    目录 1.goto语句 2.if语句 3.switch语句 4.while循环 5.do...while循环 6.for循环 break和continue 总结 1.goto语句 goto语句是一种无条件转移语句,goto 语句的使用格式为: goto  语句标号; 其中语句标号是一个有效的标识符,这个标识符加上一个 ":" 一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句: 另外语句标号必须与goto语句同处于一个函数中,但可以不在一个循环层中:通常go

  • C语言编程中常见的五种错误及对应解决方案

    目录 1. 未初始化的变量 2. 数组越界 3. 字符串溢出 4. 重复释放内存 5. 使用无效的文件指针 前言: C 语言有时名声不太好,因为它不像近期的编程语言(比如 Rust)那样具有内存安全性.但是通过额外的代码,一些最常见和严重的 C 语言错误是可以避免的. 即使是最好的程序员也无法完全避免错误.这些错误可能会引入安全漏洞.导致程序崩溃或产生意外操作,具体影响要取决于程序的运行逻辑. 下文讲解了可能影响应用程序的五个错误以及避免它们的方法: 1. 未初始化的变量 程序启动时,系统会为其

  • Redis中常见的几种集群部署方案

    目录 前言 几种常用的集群方案 主从集群模式 全量同步 增量同步 举个栗子 哨兵机制 什么是哨兵机制 如何保证选主的准确性 如何选主 选举主节点的规则 哨兵进行主节点切换 切片集群 RedisCluster方案 哈希槽重新分配 避免HotKey 如何发现HotKey HotKey如何解决 避免BigKey BigKey存在问题 如何发现BigKey BigKey如何避免 BigKey如何删除 参考 前言 这里来了解一下,Redis 中常见的集群方案 几种常用的集群方案 主从集群模式 哨兵机制 切

  • js中常见的4种创建对象方式与优缺点

    目录 前言 1.工厂模式 2.构造函数模式 3.原型模式 4.Object.create() 其他模式 总结 前言 说起创建对象,最容易想到的便是通过对象字面量方式直接定义一个对象吧,但这种方式只能创建少量,单独且相互间无联系的对象.若要批量创建对象,该如何? 1.工厂模式 实现: function fn(a,b){ let obj = new Object() obj.a=a obj.b=b return obj } const test = fn(1,2) 优点:解决了创建多个类似对象的问题

  • js中常见的6种继承方式总结

    目录 前言 1.原型继承 2.盗用构造函数 3.组合继承 4.原型式继承 5.寄生式继承 6.寄生式组合继承 总结 前言 js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式 温馨提示:本文中Super函数都是指父类,Sub函数都是代表子类.同时文中会涉及到“构造函数模式”和“工厂模式”,如果不熟悉的小伙伴,可以先看看这篇介绍 js常见的4种创建对象方式. 1.原型继承 实现: fu

随机推荐