Appium重点知识详解
一、capability使用说明
Appium官网配置说明
1、公共部分
2、Android独有
3、ios独有
4、常用配置信息获取方式
- 获取
deviceName
adb devices
- 获取
appPackage
和appActivity
adb shell
dumpsys activity | grep mFocusedActivity
二、appium元素定位方式
1、优先级:
一般情况下选择定位方法的顺序是这样的 id定位>accessibility_id定位>class定位>xpath定位>tap定位。
2、定位方式:
1、通过 resource-id 定位
driver.find_element_by_id()
2、通过class_name定位:class
driver.find_element_by_class_name()
3、通过accessibility_id定位:content-desc
driver.find_element_by_accessibility_id()
4、通过xpath定位
driver.find_element_by_xpath()
5、通过tap模拟手指点击定位
格式:driver.tap()
示例:driver.tap([(60,138)],300) 注意着里面的格式(第一个参数时列表,列表里面是元祖)
解释:第一个是positions,是list类型最多五个点,duration是持续时间,单位毫秒
下图工具是SDK自带的java开发的uiautomatorviewer,如果你安装了jdk,在sdk目录\tools\bin下 有uiautomatorviewer.bat双击打开
6、uiautomator定位
7、toast定位
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。
第一个参数:当前的上下文环境。可用getApplicationContext()或者getContext()或this。
第二个参数:要显示的字符串。也可是R.string中字符串ID。
第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长3.5秒)和LENGTH_SHORT(短2秒),也可以使用毫秒如1000ms(不建议)。
8、其他
三、webview
1、webview简介
我们通常是用浏览器来浏览网页,你很清楚的知道你正在使用浏览器,要么是PC客户端,要么是手机上的app。但是webview是一个嵌入式的浏览器,是嵌入在原生应用中的,你可能都意识不到你在用浏览器。
2、环境准备
3、如何判断页面是webview
4、其他
四、设备交互API
- 模拟来电:driver.make_gsm_call(‘13612312312’,GsmCallActions.CALL),需要导入GsmCallActions库;
- 模拟发短信:driver.send_sms(‘13612312312’, ‘hello appium apis’)
- 模拟网络设置:
网络设置类别:driver.set_network_connection(connection_type: int)
- 截屏操作:self.driver.get_screenshot_as_file(’./photos/img.png’)
- 进行手机录屏:
只支持Android8.0以上版本,且部分手机如华为不支持
self.driver.start_recording_screen()
self.driver.stop_recording_screen()
def test_mobile(self):# 模拟打电话self.driver.make_gsm_call('13612312312', GsmCallActions.CALL)# 模拟发短信self.driver.send_sms('13612312312', 'hello appium apis')# 模拟网络设置,设置为飞行模式self.driver.set_network_connection(1)sleep(3)# 模拟网络设置,设置为数据模式self.driver.set_network_connection(4)# 获取截图并保存到路径中self.driver.get_screenshot_as_file('./photos/img.png')"""进行录屏操作1.开始录屏2.停止录屏3.只支持Android8.0以上版本,且部分手机如华为不支持"""self.driver.start_recording_screen()self.driver.stop_recording_screen()
Appium重点知识详解相关推荐
- C#重点知识详解(转)
C#重点知识详解 在微软的.NET推出后,关于C#的有关文章也相继出现,作为微软的重要的与JAVA抗衡的语言,C#具有很多优点.本文将选一些C#语言中的重要知识详细介绍, 第一章:参数 1.1 IN ...
- C#重点知识详解(一) 选择自 masterall 的 Blog
在微软的.NET推出后,关于C#的有关文章也相继出现,作为微软的重要的与JAVA抗衡的语言,C#具有很多优点.本文将选一些C#语言中的重要知识详细介绍, 第一章:参数 1.1 IN 参数 c#种的四种 ...
- 网络知识详解之:网络攻击与安全防护
网络知识详解之:网络攻击与安全防护 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名 ...
- 趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心
趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心 1:CDN:你去小卖部取过快递么? 使用"中间仓库"来优化 网络中的"就近配送" ...
- CPU Cache 知识详解之Cache_Miss与替换策略(中)
文章目录 引语 Cache Miss(缓存未命中) Compulsory Miss(Cold Miss)强制性未命中 Conflict Miss 冲突性未命中 Capacity Miss 容量性未命中 ...
- 【BLE】OTA基础知识详解
[BLE]OTA基础知识详解 一. 概念 1. 缩写 BIM Boot Image Manager , the software bootloader CRC cyclic redundancy ch ...
- 趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层
趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层 1:第10讲 | UDP协议:因性善而简单,难免碰到"城会玩" TCP 和 UDP 有哪些区别? UDP 包头是什么样的 ...
- R语言基础知识详解及概括
R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建
- R语言可视化绘图基础知识详解
R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...
最新文章
- exit的用法python_python 中exit,sys.exit,os._exit用法
- XenServer中Fast Copy与Full Copy的区别
- 【若依(ruoyi)】验证码
- 如何解开机器学习的面纱?
- java学习(69):java模式设计之适配器
- OSChina 周四乱弹 ——巴叔是雾霾治理小先锋
- 【数据结构和算法笔记】:数据结构概述
- myeclipse中svn图标状态(同步标记)不显示问题的解决方法
- LINUX下的21个特殊符号
- 大数据技术Spark详解
- 解决VMware装上Mac后icloud无法激活 【安装QQ发现不能注册Apple ID】
- php怎么获得今天的日期,PHP怎么获取今天、昨天、明天的日期-php教程
- LORA+4G无线组网的方案
- kubernetes 日志收集
- 启动MySQL报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
- c语言程序设计医院就医,C语言程序设计(医院信息管理系统)附源代码[精品].doc...
- 【实战】爬虫实战-pixabay图片存储mysql
- 《番茄工作法图解》读书笔记
- MySQL 启停过程了解一二
- [附源码]Java计算机毕业设计SSM高考志愿智能填报系统