Appium -选择、操作元素
选择界面元素
操作元素(点击、输入字符、拖拽、获取页面元素的各种属性)
根据Appium获取的数据进行分析和处理
desired_capabilities
查看appPackage 和appActivity
sdk\build-tools\XXX\aapt.exe dump badging 包路径 >e:\tmp.txt &&e:\tmp.txt(重定向并打开)
package
launchable-activity
unicodeKeyboard 测试中需要输出中文时需要这个参数
resetKeyboard 测试完成后恢复输入法,quit后
noReset 不清除信息
newCommandTimeout
session
Appium 测试程序和Appium server之间的http请求必须在一个session中进行
session ID 标志一次通讯的会话
Appium 同时只能处理一个session
查看页面元素工具Android SDK中的uiautomatervierer
选择元素的代码
find_element_by_xxx 符合条件的第一个元素,找不到抛出异常
find_elements_by_xxx符合条件的所有元素的列表,找不到返回空列表
通过webdriver查找范围是整个界面的树形结构
通过webelement查找范围是该节点的子节点
driver.find_element_by_xxx
dirver.find_elements_by_xxx
ele.find_element_by_xxx
ele.find_elements_by_xxx
根据ID
元素的resource id 属性
唯一标志该元素的值
一般最优先根据它来定位 driver.find_element_by_id('')
有时候也并非唯一,可以导出通过查找来看是否唯一
根据class name
class属性决定了界面元素的类型,如果我们要查找的是某种类型的界面元素,而且这种类型的界面元素在当前界面中只有一个
driver.find_element_by_class_name('')
根据accessibility id
content-desc属性时用来描述该元素的作用,如果要查询的界面元素的conten-desc属性在当前界面中唯一
driver.find_element_by_accessibility_id('')
appium switch between multiple app 用def start_activity(self, app_package, app_activity, **opts)函数
动态抓取不到的用坐标或半自动化
Appium -选择、操作元素的更多相关文章
- Web自动化 - 选择操作元素 2
文章转自 白月黑羽教Python 前面我们看到了根据 id.class属性.tag名 选择元素. 如果我们要选择的 元素 没有id.class 属性, 这时候我们通常可以通过 CSS selector ...
- Appium之选择/操作元素
Appium是如何选择.操作元素的呢? appium自动化 ------ 选择界面 元素 操作元素 ------- ① 点击 ② 输入字符 ③ 拖拽 ④ 获取页面元素的各种属性 根据appium ...
- Web自动化 - 选择操作元素 1
文章转自 白月黑羽教Python 所有的 UI (用户界面)操作 的自动化,都需要选择界面元素. 选择界面元素就是:先让程序能找到你要操作的界面元素. 先找到元素,才能操作元素. 选择元素的方法 程序 ...
- Appium常用操作之「元素定位、swipe 滑屏操作」
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.打开 uiautomatorviewer 二.Appium 常用操作 1.用 layui 做 ...
- Appium常用操作之「微信滑屏、触屏操作」
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.滑屏操作 1.访问之后,马上就滑屏可以吗? 2.连续实现 2 次滑屏 3.代码 二.模拟触屏 ...
- 抛弃jQuery:DOM API之操作元素
原文链接:http://blog.garstasio.com/you-dont-need-jquery/dom-manipulation/ 我的Blog:http://cabbit.me/you-do ...
- 基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图标,从而是Web系统界面看起来更加美观和协调.但是在系统中一般内置的图标样式相对比较有限,而且硬编码写到样式表里面,这 ...
- jQuery的区别:$().click()和$(document).on('click','要选择的元素',function(){})的不同
jQuery的出现,大大简化了对dom的操作,但是如果不是仔细阅读api和进行操作,就不知道其中最大的优点和使用方式.就拿$().click()和$(document).on('click','要选择 ...
- JQuery官方学习资料(译):操作元素
获取和设置元素的信息 有很多种方式可以改变现有的元素,最常见的是改变HTML内容或者元素的属性.JQuery提供了简单的夸浏览器的方法来帮助你实现元素信息的获取和设置. .html():获 ...
随机推荐
- [转][C#]Combobox 行高
namespace System.Windows.Forms { class ComboBoxEx : ComboBox { public ComboBoxEx() { DrawMode = Syst ...
- MySQL binlog 组提交与 XA(两阶段提交)--1
参考了网上几篇比较靠谱的文章 http://www.linuxidc.com/Linux/2015-11/124942.htm http://blog.csdn.net/woqutechteam/ar ...
- Ring0 - 链表
//一般驱动层不使用数据结构,一般Ring3层 双向链表可以将链表形成一个环.BLINK指针指向前一个元素,FLINK指针指向下一个元素.typedef struct _LIST_ENTRY { st ...
- ORM的单表操作
ORM的单表操作 MTV框架包含一个重要的部分就是ORM----对象关系映射(Object Relational Mapping),它实现了数据模型与数据库的解耦,即数据模型的设计.利用它我们不需要依 ...
- vue-生存周期
beforeCreate 实例初始化之后 created 实例创建之后 beforeMount 实例挂载前 文本节点 mounted 渲染实例 防止花括 ...
- POJ3635 Full Tank?
[题解] 用dijkstra算法求最短路.同时考虑在每个节点加油(一单位)与否. [代码] #include <iostream> #include <map> #includ ...
- Nginx 配置为https服务器
本机作为https服务器 server { listen ssl; server_name localhost; ssl_certificate ssl/server.crt; ssl_certifi ...
- 第10章 网络安全(5)_访问控制列表ACL
6. 访问控制列表ACL 6.1 标准访问控制列表 (1)标准ACL ①标准ACL是基于IP数据包的源IP地址作为转发或是拒绝的条件.即,所有的条件都是基于源IP地址的. ②基本不允许或拒绝整个协议组 ...
- opencv 基础数据结构
头文件:cxcore/include/cxtypes.h CvPoint: CvPoint:(构造cvPoint) CvPoint2D32f: CvPoint3D32f: CvSize: CvSize ...
- 电商系统架构总结1(EF)
最近主导了一个电商系统的设计开发过程,包括前期分析设计,框架搭建,功能模块的具体开发(主要负责在线支付部分),成功上线后的部署维护,运维策略等等全过程. 虽然这个系统不是什么超大型的电商系统 数亿计的 ...