初探appium之元素定位(1)

无论是selenium还是appium,元素定位都是我们开始实现自动化面临的第一个问题。selenium还好,我们可以在浏览器的调试页面进行元素定位还是蛮方便的。那么appium怎么做呢?

我看到很多资料,帖子都是说的appium自带的Inspector这个工具进行的元素定位。而笔者不知道是电脑还是什么的问题,这个工具是无法使用的。今天给大家说的是另一个工具。

uiautomatorviewer

这个工具是在我们Android的SDK的tools的文件夹里面的。使用方法也很简单。这里我以安卓模拟器为例给大家进行讲解。

首先打开模拟器,打开到我们需要定位的元素的页面。然后再tools中双击uiautomatorviewer,这个是个批处理的文件,双击就可以打开

可以看到这样的一个画面。接着点击上面那两个带着小机器人的手机形状的图标。我还没弄清楚这俩有啥区别,不过都可以用来辅助我们定位元素这里先不纠结。

比如,我们现在要定位这一条短信的内容。那么我们就可以通过右边的text,resource-id,class去定位

这里的text其实就是我们用的方法中的name

只要通过find_element_by_name()然后把text的值写到括号里就可以了

find_element_by_name("0")

而resource-id实际上就是id

通过find_element_by_id("com.android.mms:id/text_view")也能够完成这个元素的定位

class呢是classname,这个不是webdriver的方法,是appiumdriver的方法。还可以协助我们进行xpath方法的定位这个下回再说。

这里还有一个东西要讲一下就是content-desc

这个实际上是我们python的appium中appiumdriver的另一个方法

find_element_by_accessibility_id("")这个也是元素定位的方法,不过这里是空的所以无法完成定位。

定位的方法还有很多,classname,css,xpath等,这些我们下回再讲。目前笔者也是水平较浅只掌握了上面的几种方法。

时间: 2024-08-05 15:03:12

初探appium之元素定位(1)的相关文章

Appium + Python -------------元素定位

说在前面 1.https://github.com/appium/python-client/tree/master/test  里面有一些test ,可以看看,研究研究 2.学会使用 uiautomatorviewer 和 hierarchyviewer  ,这两个工具可以帮助查看app一些信息,非常好用,在android-tools下 控件的特征就是控件的属性,所以我们可以根据控件的特征进行定位 PS:断言部分之后再细说 1.find_elements_by_accessibility_id

Appium+Python 自动化-appium常用元素定位方法

ID定位 # resourceId属性的方法driver.find_element_by_id('com.lizi.app:id/setting_imageView').click() #以accessibility_id进行定位,对Android而言,就是content-description属性driver.find_element_by_accessibility_id('push_button').click() ClassName 定位 # 定位唯一元素 self.driver.fin

Appium学习笔记4_元素定位方法

Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自己的了解和学习,简单的总结下关于Appium native APP上的一些元素定位方法的使用以及通过UI Automator Viewer定位页面以后,如果从上面定位到你想使用的元素. 已淘宝为例,来进行元素的定位.打开UI Automator Viewer Appium和Webdriver有一点区

移动端测试——APP元素定位操作 (3)

一.appium基础API讲解 1.1 APP元素定位操作 建议: 使用显示等待 能用id.class定位就不用xpath定位 只要看的见的,用xpath的text就是万能的 手工测试主要通过可见按钮操作,而自动化是通过元素进行交互操作 元素的基本定位基于当前屏幕范围内展示的可见元素 前置代码 # 导入driver对象 from appium import webdriver import time # server 启动参数 desired_caps = {} # 设备信息(系统.版本.设备号

appium元素定位

通过id定位 安卓里面的id即为resource-id driver.findElementById("com.tencent.mm:id/do") 或者 WebElement element = driver.findElement(By.id("com.tencent.mm:id/do")); 通过name定位 一般text为name WebElement el = driver.findElement(By.name("昵称")); 通过c

基于C#的Appium自动化测试框架(Ⅱ):Android元素定位

我们知道,Appium的原理上是通过RemoteWebDriver提供了元素定位功能,再根据定位后的元素进行操作,比如: protected static RemoteWebDriver CalculatorSession; CalculatorSession.FindElementByName("One").Click(); 工作的重点就是定位到对应的元素,Appiuim提供了很多用来定位元素的方法,具体包括: FindElement(By by); FindElementByCla

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——元素定位

首先介绍两种定位元素的工具,appium自带的 Inspector 和 android SDK自带的 uiautomatorviewer 1.UIAutomator Viewer比较简单,在模拟器打开app后,打开它,选择 点击这个按钮,就会同步模拟器或真机界面 点击页面中的元素,在右下角会显示该元素的一些信息 2.Inspector(android) 使用inspector就比较麻烦了,先设置appium ①首先是android setting 第一次设置的时候 package和launch

Appium+python (3) 元素定位(1)

打开问价夹下面的uiautomatorviewer: 夜神模拟器里的App后,回到uiautomatorviewer: 点击左上角的Device Screenshot,这时你的夜神模拟器页面就会显示在这里,右侧就是对应的定位信息了,我们主要依靠右下角的Node Detail信息进行定位. 如果你有selenium的基础,那接下来介绍的基本一致,只是换了个方法而已: text find_element_by_name(u"视频") id find_element_by_resource-