appium for android 查找元素方法总结

使用appium测试app自动化查找元素时比较麻烦,没有selenium查找web页面元素方便,

并且局限性也比较高,使用起来不是太灵活。

那下面介绍下我们一般经常使用到的一些查找元素的方法(已锤子手机为例)。

有两个工具可以用来查找元素:安卓sdk自带的uiautomator viewerappium最新版1.0.2

 

建议使用uiautomator viewer,个人感觉使用起来要方便些,包括复制元素的值也比较方便

先链接锤子手机:

方法有很多,:

通过xpyth定位:findElementByXPath("//android.widget.TextView[10]")xpath下标从1开始,使用完整的classname

通过text namefind_element_by_name(name对应uiautomator扫描后text的内容)

通过idfind_element_by_id(id对应resource-id)

通过classname定位:find_element_by_class_name(class_name对应class)

通过accessibility idfind_element_by_accessibility_id(accessibility_id对应content-desc)

定位到某个文本框,并输入内容:

driver.find_element_by_id("xxxxx").send_keys("123456")

滑动屏幕:

获取屏幕尺寸 width=self.driver.get_window_size()[‘width‘]height=self.driver.get_window_size()[‘height‘]

滑动屏幕 driver.swipe(width*9/10, height*1/2, width*1/10, height*1/2, 1000)

在手机上打开头条,只介绍常用的三种:

  • find_element_by_namename对应uiautomator扫描后text的内容)

脚本中输入这个name就可以定位到这个元素,然后做相应的操作,比如click()等

  • find_element_by_idid对应resource-id,用这个查找比较准确)

用resource-id查找是最准确的!

  • find_element_by_class_name(class_name对应class,用这个一般都查找出的是一堆的数据,因为有很多地方都使用同一个class name)

这个是名为android.widget.TextView的classname,其他的行全部都是这个name

看看,其他的也是这个class name,所以用这个查找会找出一个列表的数据出来,如果想单独取某个行的数据,就需要使用for 循坏或者下脚标来取[X]

在做app自动化时需要花很大的精力去提前获取的数据并整理,因为很多数据是不能一一

对应的。

有问题可以加QQ群:610845268

时间: 2024-08-14 22:29:12

appium for android 查找元素方法总结的相关文章

使用webdriverwait封装查找元素方法

对于selenium原生的查找元素方法进行封装,在timeout规定时间内循环查找页面上有没有某个元素 这样封装的好处: 1.可以有效提高查找元素的小吕,避免元素还没加载完就抛异常 2.相对于time.sleep和implictly_wait更节省时间 3.大大的减少重复代码,使得用例书写更简洁 代码: #coding:utf-8 #封装元素方法from selenium import webdriverfrom selenium.webdriver.support.ui import WebD

selenide 自动化测试进阶一: 查找元素和相关操作

基础环境配置和举例请移步:https://www.cnblogs.com/davice/p/9298742.html 提到自动化有些测试同学就会问,我会使用工具录制做自动化,我会用工具或插件识别元素.但是这些并不能满足做自动化日常的使用,要学通自动化的每一步,有兴趣的同学可以和我一起进入深入学习. 识别元素方法:xpaht\css 比较常用.我们这里介绍一下xpath的使用. xpath具体学习教程请参考:http://www.w3school.com.cn/xpath/index.asp XP

Appium学习路—Android定位元素与操作

一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Inspector:Appium自带的一个功能,只有mac下可以使用该功能 下面是用monitor抓取到的页面元素 下面使用Appium Inspector定位的元素 二.元素定位   1.格式:find_element_by_定位方式(value) 通过id定位 (取resource-id的值): dr

<<< Jquery查找元素、选择器使用方法总结

$("#myDiv"); //根据给定的ID匹配一个元素,用于搜索id 属性中给定的值,id属性必须是唯一的 $("div"); //根据给定的元素名匹配所有元素,搜索指向dom节点的标签名 $(".myClass"); //根据给定的类匹配元素,用以搜索的类.一个元素可以有多个类,只要有一个符合就能被匹配到 $("div,.myClass"); //将每一个选择器匹配到的元素合并后一起返回,可以指定多个元素 返回示例: &l

Appium Python 五:元素定位

总结 单个元素定位: driver.find_element_by_accessibility_id(id) driver.find_element_by_android_uiautomator(uia_string) driver.find_element_by_class_name(name) driver.find_element_by_css_selector(css_selector) driver.find_element_by_id(id_) driver.find_element

Appium做Android功能自动化测试

前言 做Android端功能自动化已有2年多的时间了,使用过的功能自动化框架有Robotium.Uiautomator.Appium.最近研究自动化case复用的方案,调研了Appium的自动化框架,并将其应用到银行一账通的标版中,本文详细介绍基于Appium的Android功能自动化实战经验.主要包括以下几方面内容: Appium框架原理介绍 Appium框架常用API介绍 基于Appium框架的自动化开发环境搭建 自动化case开发及分层结构设计 自动化测试用例书写规范及注意事项 功能自动化

10.0 花里胡哨的各个方位滑动查找元素

在介绍滑动查找元素之前,请先容许我插上一嘴--之前章节有更新过  Uiobject uicollection uiselector   这里还有一个新东西叫做  uiscrollable这个class它里面是封装了所有的滑动处理的相关操作! name这个叫做uiscrollable的类里面有那些东西了: Scrollintoview-----获取某个可滑动区域,然后滑动这个区域里面的元素查找我们所需要的元素 #后面的text查找条件可以用组合查找也可以用 textcontains 关键之查找te

用Appium让Android功能自动化测试飞起来

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Helvetica Neue"; color: #2f2f2f } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "Helvetica Neue"; color: #2f2f2f } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center;

Android定位元素与操作

一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Inspector:Appium自带的一个功能,只有mac下可以使用该功能 下面是用monitor抓取到的页面元素 下面使用Appium Inspector定位的元素 二.元素定位   1.格式:find_element_by_定位方式(value) 通过id定位 (取resource-id的值): dr