Appium内置方法,来操作手机。在做app自动化时,可以内置方法的基本上,对一些常用的手机操作进行方法的封装。

常用的方法有:

  • 获取手机分辨率:
driver.get_window(size)

 # 获取手机的分辨率,后面我们可以根据分辨率来进行滑动、点按等操作

  • 手机截图:
driver.get_screenshot_as_file('路径/名称.png')

 # 截图实时屏幕,后面我们自动化可以用来在断言错误的情况下,进行截图操作

  • 模拟手机操作:
driver.press_keycode(4)

  # 4代表返回键盘,3代表home键,66代表回车键

  • 手机屏幕滑动操作:
driver.swipe(start x,end x,start y, end y,duration)

  # start x : 开始滑动的x坐标,end x 结束滑动的 x坐标,start y:开始滑动的y坐标,end y 结束滑动的y坐标;duration延时滑动的时间,单位毫秒,避免惯性的滑动

  • 轻巧操作:
action =   TouchAction(driver)

  # 创建action手势

action.tap(element=None,x = None,y = None,count=1)
action.tap(element).preform()

  # tap(element,x,y)其中element和x,y坐标可以任选其一;最后使用preform进行执行轻敲操作

  • 按下、抬起操作:
action.press(element,x,y).release().perform()

  # press(element,x,y),其中element,和x,y坐标可以任选其一;release()抬起操作

action.press(element).wait(3000).release().perfom()

  # wait()为模拟手指按下的时间,单位为毫秒

长按操作:

action.long_press.(element,x,y,duration=1000).perfom()

  # long_press(element,x,y,duration=1000),element和x,y坐标可以任选其一;duration避免惯性操作,单位为毫秒;

  • 移动操作:
action.press(element).move_to(element,x,y).release().perfom()

  # 模拟手指移动的操作,move_to(element,x,y),elemen和x,y坐标可以任选其一

appium之手机操作的方法的更多相关文章

  1. Appium(九):Appium API(三) 滑动和拖拽、高级手势、手机操作

    1. 滑动和拖拽 我们在做自动化测试的时候,有些按钮是需要滑动几次屏幕后才会出现,此时,我们需要使用代码来模拟手指的滑动,也就是接下来要学的滑动和拖拽了. 1.1 swipe滑动事件 从一个坐标位置滑 ...

  2. 『与善仁』Appium基础 — 26、常用手机操作的API说明

    目录 1.获取当前手机的时间 2.获取手机屏幕的宽和高 3.获取手机当前网络 4.设置手机网络模式 5.操作手机通知栏 6.综合练习 7.发送键到设备(掌握) 8.手机截图(掌握) 是针对手机一些常用 ...

  3. ADB工具和手机抓包方法介绍

    Android抓包方法 工具包内容如下:(下载地址:http://download.csdn.net/download/yezhaohui2011/8368061) adb ——谷歌提供的安卓远程调试 ...

  4. 浅谈配置chrome浏览器允许跨域操作的方法

    浅谈配置chrome浏览器允许跨域操作的方法 一:(Lying人生感悟.可忽略) 最近有一天,对着镜子,发现满脸疲惫.脸色蜡黄.头发蓬松.眼神空洞,于是痛诉着说生活的不如意,工作没激情,工资不高,一个 ...

  5. H5测试点总结-UI测试、功能测试、兼容性测试、体验相关(弱网、资源、手机操作等)、安全性测试、性能测试

    一.概述 1.1 什么是H5 H5 即 HTML5,是最新的 Web 端开发语言版本,现如今,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现.所以 Web 的通用测 ...

  6. LR11.50 通过Mobile Application 录制手机操作

    LR11.50 通过Mobile Application 录制手机操作 步骤就是 1:新建LR脚本.协议选择Mobile Application - HTTP/HTML 2:在record里选择第三个 ...

  7. C#操作SQLite方法实例详解

    用 C# 访问 SQLite 入门(1) CC++C#SQLiteFirefox  用 C# 访问 SQLite 入门 (1) SQLite 在 VS C# 环境下的开发,网上已经有很多教程.我也是从 ...

  8. 基于appium的常用元素定位方法

    一.元素定位工具 app应用的元素使用的是控件定位,不同于web网页,web网页定位元素通常使用的是F12工具,那么在app当中我们则要借助其它的工具来辅助定位. 1.uiautomatorviewe ...

  9. Windows的拖放操作使用方法

    Windows的拖放操作使用方法

  10. js操作textarea方法集合

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

随机推荐

  1. 4.docker安装mysql

    下载mysql镜像 打开docker镜像仓库 https://hub.docker.com 我们下载官方镜像,点击打开 可以看到tags有很多不通版本的mysql 比如我想安装5.7版本的就可以使用  ...

  2. Zero-Shot Temporal Action Detection via Vision-Language Prompting概述

    1.针对的问题 现有的方法在推断时只能识别之前见过的类别,即训练时出现过的类别,而为每个感兴趣的类收集和注释大型训练集是昂贵的. 2.主要贡献 (1)研究了如何利用大量预训练的ViL模型进行未修剪视频 ...

  3. cesium开启关闭日照(含有模型)

    准备条件:已经完成3Dtiles的导入 和viewer的创建 <script>//开日照 function Bshadows(){ viewer.scene.globe.enableLig ...

  4. 循环4-for循环

    一.语法 for循环和while类似,常用于执行有限次数的循环,有两种语法结构, 1.变量列表循环 语法: for 变量名 in 变量取值列表 do 指令...... done 变量取值列表中的值,要 ...

  5. DDR内存256M16、512M8含义

    256M16,后面的16是代表数据位数,也可以认为是16个bit.一般一个Byte是8个bit.例如256M4的容量为256*16 bit = 4096Mb = 512MB所以 256M16和 512 ...

  6. ConcurrentHashMap在Java8中的变化

    增加红黑树这个存储结构 在Java8中,为什么要增加红黑树这种数据结构来进行存储,而不是全部使用链表来进行存储呢? 1.因为攻击者可以构造大量具有相同hashCode的内容,使其全部放在同一个列表中, ...

  7. NCGROUP遍历成员用的cb

    1 static logical cycelGenerateCb(tag_t tag, void* data) 2 { 3 logical is_group; 4 char name[133]; 5 ...

  8. [478] C2 Age Of Splendor Opcodz

    [478] C2 Age Of Splendor Client 00 SendProtocolVersion 01 MoveBackwardToLocation 02 Say 03 RequestEn ...

  9. flume 拦截器

    目的:功能1:判断json文件,如何格式合格则正常传输,否则就不传输 功能2:判断出合格的json文件,并且key值中包含"date"才进行传输 一.创建一个Json的工具类 pa ...

  10. vscode php 方法无法跳转问题

    安装扩展 PHP IntelliSense #路径感知 PHP Intelephense  #自动补全 PHP DocBlocker #在类或属性.方法上面敲/**回车自动生成参数注释等 PHP Na ...