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. 深入理解Java虚拟机(七)——类文件结构

    Java的无关性 由于计算机领域中有很多操作系统和硬件平台同时在竞争,所以,很多编程语言的程序设计会与其运行的平台和操作系统产生耦合,这样就大大增加了程序员的工作,为了适应不同的平台,需要修改很多代码 ...

  2. DBeaver连接MySQ报错

    遇错情况:第一次使用DBaver连接MySQL遇到以下问题: 报错信息:Public Key Retrieval is not allowed 截图如下: 解决方案步骤: 一.已有连接的情况:F4或者 ...

  3. HTTPS和HTTP的那些事

    随着信息安全变得越来越重要,在浏览器.搜索引擎.CA机构.大型互联网企业的共同促进下,互联网迎来了"HTTPS加密时代".HTTPS在HTTP上建立了SSL加密层,是HTTP协议的 ...

  4. vue中的样式绑定

    样式绑定 样式绑定有class绑定和style绑定,这里我们分别说说 class绑定 class样式绑定与有两种语法:对象语法(v-bind:class='{active:isActive}').数组 ...

  5. 深入解析 C# 的 String.Create 的方法

    作者:Casey McQuillan 译者:精致码农 原文:http://dwz.win/YVW 说明:原文比较长,翻译时精简了很多内容,对于不重要的细枝末节只用了一句话概括,但不并影响阅读. 你还记 ...

  6. 谁再问Servlet的问题,我就亲自上门来教学了

    1. 概述 在这篇简短的文章中,我们将从概念上理解什么是servlet 和 servlet 容器以及它们是如何工作的. 同时,还能在请求.响应.会话对象.共享变量和多线程的上下文中看到它们的身影. 2 ...

  7. matplotlib的学习2-基本用法

    import matplotlib.pyplot as plt import numpy as np x = np.linspace(-1, 1, 50)#范围-1 到 1,个数是50 y = 2*x ...

  8. k8s第二回之k8s集群的安装

    1. k8s集群的安装 目录 1. k8s集群的安装 1.架构: 2.环境准备 3.master节点安装etcd 4. master节点安装kubernetes 5.node节点安装kubernete ...

  9. python之代码重构

    在撸码过程中,总有很多代码需要重构,码一个问候用户的小例子,加深对代码重构的印象. 原始代码: 1 import json 2 3 filename = 'username.json' #定义文件名 ...

  10. 浅谈 WebRTC 的 Audio 在进入 Encoder 之前的处理流程

    在 WebRTC 中,Audio 数据在被送入编码器之前,有 2 大部分需要特别关注,一是数据采集,二是 Audio Processing. 作者:方来,技术专家,从事 voip 应用开发. 数据采集 ...