github代码::  https://github.com/w550856163/App_Demo.git  tag: V1.1
Appium Inspector定位工具界面介绍: 
Selecte Elements :根据元素定位 
Swipe By Coordinates:根据坐标滑动页面 
Tap By Coordinates:根据坐标点击操作 
Back:返回 
Refresh Source & Screenshot:刷新界面与截图 
Start Recording:录制按钮,能自动生成自动化脚本 
Search for element:在App Source中搜索元素 
Copy XML Source to Clipboard :复制XML源代码到 
Quit Session & Close Inspector:退出会话或结束 
Source:源代码显示区域 
Actions: 
Selected Element:被选中元素信息显示
 
 

Appium元素定位方法介绍及应用: 
通过上面两种工具,可以获取元素的相关信息;在appium中提供了一系列 
的元素定位API,通过在这些API中输入指定的元素信息,就能完成元素定位, 
定位元素后就进行对元素进行自动操作。 
基本元素定位API如下: 
1、ID定位(取resource-id、id、name) 
driver.find_element_by_id('') 
2、class定位(取class) 
driver.find_element_by_class_name('') 
3、AccessibilityId定位(取content-desc) 
driver.find_element_by_accessibility_id('') 
备注:其中name方式(取text)已不支持
 

2、使用 属性 定位: 
text属性: 
driver.find_element_by_xpath('//类名[@text=text值]') 
resource-id属性: 
driver.find_element_by_xpath('//类名[@resource-id=属性值]') 
content-desc属性: 
driver.find_element_by_xpath('//类名[@content-desc=属性值]') 
class属性: 
driver.find_element_by_xpath('//类名') 
多属性:and 表示并且 or表示或者 
driver.find_element_by_xpath('//类名[@属性名=属性值 and/or @属性名=属性 
值]') 
备注: 
1、所有元素的属性都可以进行定位,但必须该属性的值是界面上唯一的 
2、xpath支持 * 代表任意个字符 ,比如find_element_by_xpath('//*[@text=text 
值]') ,这种用法容易同时识别多个元素
Xpath定位方法: 
3、使用 部分属性内容 定位: 
当元素的属性值过长或者元素属性值内容中存在动态变化的情况下,可以使 
用该方法。 
起始位置匹配:starts-with() 
driver.find_element_by_xpath('//类名[starts-with(@属性名,部分属性值)]') 
包含匹配:contains() 
driver.find_element_by_xpath('//类名[contains(@属性名,部分属性值)]') 
末尾位置匹配:ends-with() 
driver.find_element_by_xpath('//类名[ends-with(@属性名,部分属性值)]')

appium元素识别方式实战的更多相关文章

  1. 6.1 python+appium元素定位方式(登录app)

    1.0.0     :常见的十种元素定位方式 .driver.find_element_by_id() #id定位 .driver.find_element_by_name() #name定位(已经凉 ...

  2. APP 自动化之appium元素定位(三)

    APP自动化测试关键环节--元素定位,以下我们来了解appium提供的元素定位方法! 1. id定位,id一个控件的唯一标识,由开发人员在项目中指定,如果一个元素有对应的resource-id,我们就 ...

  3. 技术分享 | app自动化测试(Android)--元素定位方式与隐式等待

    原文链接 元素定位是 UI 自动化测试中最关键的一步,假如没有定位到元素,也就无法完成对页面的操作.那么在页面中如何定位到想要的元素,本小节讨论 Appium 元素定位方式. Appium的元素定位方 ...

  4. Appium自动化测试之微信h5元素识别和代码实战

    总会有人问微信的自动化测试怎么做.其实我不太明白,为啥你要对ta做自动化测试啊,除非你们公司产品是基于微信做的开发否则没必要.即使一个公众号我也觉得没必要做自动化测试,基本功能点下没问题就可以了,毕竟 ...

  5. 自定义Robotframework,Appium的一个关键字(用于点击目标图片,用于Appium无法识别的一些图片元素)

     Appium无法识别的一些图片元素,必须先通过图片找坐标,进而通过点击坐标解决问题. 1.先在terminer运行安装命令: pip install robotframework-appiumlib ...

  6. Appium获取元素的方式

    1.apk包名和launcherActivity 1.1.获取包名 所有应用包名列表 adb shell pm list packages 第三方应用包名列表 adb shell pm list pa ...

  7. Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,clas ...

  8. python_appium 之使用Appium Inspector定位工具进行元素识别,编写验证demo

    一.前提条件 appium环境搭建完成,模拟器Genymotion 安装完成,且已经下载成功了模拟设备 二.元素识别操作步骤及demo 1.进入appium如下菜单 2.填写Desired Capab ...

  9. appium--Toast元素识别

    前戏 Android中的Toast是一种简易的消息提示框,当视图显示给用户,在应用程序中显示为浮动,和Dialog不一样的是,它永远不会获得焦点,无法被点击 Toast类的思想就是尽可能不引人注意,同 ...

随机推荐

  1. 题解-Cats Transport

    题解-Cats Transport Cats Transport 有 \(n\) 个山丘,\(m\) 只猫子,\(p\) 只铲屎官.第 \(i-1\) 个山丘到第 \(i\) 个山丘的距离是 \(d_ ...

  2. mysql扩展百分位函数(类似SUM)

    mysql扩展百分位函数(类似SUM) 参考:https://my.oschina.net/waterbear/blog/1186744 百度搜索:mysql percentile

  3. C++ 虚函数表与多态 —— 多重继承的虚函数表 & 内存布局

    多重继承的虚函数表会有两个虚表指针,分别指向两个虚函数表,如下代码中的 vptr_s_1.vptr_s_2,Son类继承自 Father 和 Mather 类,并且改写了 Father::func_1 ...

  4. 精尽Spring MVC源码分析 - 一个请求的旅行过程

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  5. Linux下weblogic启动慢

    修改Linux上Weblogic使用的jdk $JAVA_HOME/jre/lib/security/java.security (/bea/weblogic/jdk150_12/jre/lib/se ...

  6. mysql单机多实例配置

    Windows上配置多个mysql实例,主要改下配置文件即可,mysql目录如下: my2中主要改两个配置内容 datadir = D:/Program Files/Mysql/mysql-5.7.2 ...

  7. db2常用操作

    1. db2建立远程节点编目及删除 db2 catalog tcpip node nodeName remote remoteIp server remotePort db2 list node di ...

  8. 工具-Redis-与Python一起使用(99.6.3)

    @ 目录 1.安装 2.使用 以下为对应的方法 3.使用string为例子 关于作者 1.安装 pip install redis 2.使用 pip install redis from redis ...

  9. post 和php://input

    $_POST['paramName'] 获取通过表单(multipart/form-data)提交的数据.但有时客户端会直接将请求数据以字符串的形式都放到 body 里传递过来,那么服务端就需要使用  ...

  10. Angular *ngIf length

    Angular *ngIf length 在Angular中如何判断*ngIf Arrary的长度? 具体代码如下: result = []; <div class="kt-secti ...