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. mac系统yarn使用报错:ERROR: add is not COMMAND nor fully qualified CLASSNAME.

    出现错误的过程: mac 系统上使用阿里的X6(@antv/x6) x6 快速上手: 1   npm install @antv/x6 --save 2   yarn add @antv/x6     ...

  2. mysql两表关联

    mysql两表关联 是按照范围关联表 select * from ((select u.id,u.name,u.sex,s.street_name,u.street_code,u.birthday f ...

  3. [BOM]判断是否为pc页面、是否为ios页面

    常用于pc页面与h5页面的跳转和适配,区分不同设备进行下载跳转区分. var is_pc = !(navigator.userAgent.match(/(phone|pad|pod|iPhone|iP ...

  4. 基于ALSA库实现音频采集和播放遇到的问题

    最近基于Linux系统C语言实现音频的采集和播放,建立了两个子线程,一个通过调用snd_pcm_readi来实现采集数据,并存入FIFO中,另一个从FIFO中取数据并通过udp的sendto发送出去, ...

  5. git 本地电脑重新装git后 更新github项目报错 fatal: detected dubious ownership in repository at

    解决方法参考: fatal: detected dubious ownership in repository at 'D:/'之解决方法 1.今天在学习git的时候出现这个错误: 2.执行下面代码即 ...

  6. Java-Java数据类型对应MySql数据类型

    开发过程中常用的数据类型:   Java Mysql 备注 整型 java.lang.Integer tinyint(m) 1个字节  范围(-128~127)  java.lang.Integer ...

  7. Django启动时提示ModuleNotFoundError: No module named 'xxx'的原因

    ①创建项目:django-admin startproject DL ②创建app:python manage.py startapp myapp ③启动服务:python manage.py run ...

  8. python基础篇 26-redis操作

    redis的基本操作: redis_conf ={ 'host':'192.168.64.128', 'password':'Aa123456', 'db':'0', 'port':6379, 'de ...

  9. 【JavaScript】JS写法随笔(三) JS联动设置元素默认值

    问题: 使用DOM获取元素后setAttribute("value", "1")在页面有修改此标签value的情况下,再次触发function发生不生效.无法修 ...

  10. 【Android异常】关于静态注册BroadcastReceiver接收不到自定义广播的问题

    Android 8.0以上需要setComponent()来指定包名和类名,第1个参数是指接收广播类的包名,第2个参数是指接收广播类的完整类名.静态广播1.先使用Android Studio创建一个广 ...