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. 通过git-bash 批量管理VMware虚拟机

    #先将vmrun .exe 加入环境变量 # 我这里是: ;C:\Program Files (x86)\VMware\VMware VIX; #cd E:/期中架构/#sh new\ 3.bash ...

  2. C++异常之五 异常和继承

    异常和继承 异常也是类,我们可以创建自己的异常类,在异常中可以使用(虚函数,派生,引用传递和数据成员等), 下面用一个自制的数组容器Vector,在对Vector初始化时来对Vector的元素个数进行 ...

  3. CIBN手机电视8.3.2永久VIP

    一款互联网电视的手机客户端.可以观看最新的电影和电视剧,还会为你推荐人气热门电影,让你不会错过每一部精彩的大片,以去除app内的所有可见广告,解锁VIP特权,无需登录直接使用! 下载地址:https: ...

  4. Mongdb优化

    1.索引1)基础索引--为集合colt1的x列创建升序基础索引# cd /usr/local/mongodb4.2.2/bin# ./mongo -uroot -p> use db_test&g ...

  5. Java内存模型(MESI、内存屏障、volatile和锁及final内存语义)

    JMM (Java内存模型) Java线程的实现 实现线程主要有三种方式,Java线程从JDK1.3后采用第一种方式实现: 使用内核线程实现(1:1实现) 使用用户线程实现(1:N实现) 使用用户线程 ...

  6. 微服务开发的最大痛点-分布式事务SEATA入门简介

    前言 在微服务开发中,存在诸多的开发痛点,例如分布式事务.全链路跟踪.限流降级和服务平滑上下线等.而在这其中,分布式事务是最让开发者头痛的.那分布式事务是什么呢? 分布式事务就是指事务的参与者.支持事 ...

  7. [日常摸鱼]bzoj1007[HNOI2008]水平可见直线-半平面交(对偶转凸包)

    不会写半平面交-然后发现可以转成对偶凸包问题 具体见这里:http://trinkle.blog.uoj.ac/blog/235 相关的原理我好像还是不太懂-orz #include<cstdi ...

  8. 多任务-python实现-UDP多线程聊天(2.1.6)

    @ 目录 1.案例 1.案例 代码实现 import threading import time import socket def rev_msg(udp_socket): while True: ...

  9. Spring Cloud OpenFeign的原理(六)

    通过上篇我们了解OpenFeign他也可以完成远程通信,但是它并不是真正义意上的RPC通信,因为他是通过封装代理来实现的,下面和以前一样,知道了怎么用就来看下他是怎么实现的. 一.思考Feign要做的 ...

  10. C# List的并集、交集、差集

    并集---Union 集合的并集是合并两个集合的所有项,去重,如下图所示:   List<int> ls1 = new List<int>() { 1,2,3,5,7,9 }; ...