首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Appium元素定位方式

DOM结构 先来看几个名词和解释: dom: Document Object Model 文档对象模型 dom应用: 最早应用于html和js的交互。...一样,appium为移动端抽象出了一个控件模型,称为dom结构;会把所有的控件都理解为xml文件,在xml文件里,每个控件都有自己的类型和属性; 既然有了类型和属性,自然就可以根据这些来定位元素,又因为整个模型是...Appium 支持 WebDriver 定位策略的子集: 2.21 通过 “class” 查找 (例如, UI 组件的类型)-一般不推荐 这种就是通过判断控件类型来查找,例如TextView、ImageView...'画好一个封闭的圆'])[2]/following-sibling::*[@class='android.widget.RelativeLayout'])[2]") 很多控件都是有text属性的,但是appium...定位逻辑的区别 在之前的一篇文章中我们介绍过appium底层的使用了各种引擎,可在文章末尾往期回顾第一条点击查看。

1.1K10

Appium定位 5 ——xpath

今天我们先来和大家说一下appium,上一次说到了定位,不知道大家定位怎么样了,今天来说如何定位xpath,五分钟即可学会: 例1: 现在我想定位下面这个登录按钮: xpath该怎么写呢?...先不管三七二十几,先写//,然后找你要定位元素最近的可以直接定位到的元素,我们看到home属性是content-desc: 所以我们就可以根据content-desc这个属性直接定位到上图红色home那里这些属性都在这个...[@content-desc='home']/android.view.View/android.view.View[2] 这样就可以定位到了,有两点说明 第一:xpath的索引从1开始,不是从0开始哦...再举个例子: 定位方框里的: 先写上//,然后看home那行,知道要这样写: //android.webkit.WebView[@content-desc='home'] 接着看到定位的View在ListView...android.widget.ListView/android.view.View[3] 大家不要只看,去自己写一个试试,我给你现成的代码,你复制过去,改一下相应的参数就可以用: # coding: utf-8 from appium

1.1K50
您找到你想要的搜索结果了吗?
是的
没有找到

Appium系列|其他定位方式

上篇文章介绍了ID的定位方式本文介绍控件跟文本的方式。 控件类型定位方式 接着我们来介绍下第二种定位方式,按控件类型的定位方式。...有时候控件没有id,这时候我们可以运用控件类型来定位,一个页面上相同类型的控件一般会有多个,因此按控件类型定位一般也会结合index来进行定位。...tab页,按控件类型FrameLayout定位的话,第二个tab页的index应该是2,也就是第三个,所以编写如下测试代码进行定位: package appium.chapter2; import io.appium.java_client.AppiumDriver...Appium并没有直接提供按文本定位的方法但可以通过其他定位方式来进行构造,假如想定位首页的问答页,如下图所示: 可以编写如下测试代码进行定位: package appium.chapter2; import...io.appium.java_client.AppiumDriver; import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.By

54530

Appium 定位方法例子(4)

这是一个攻坚战,来首战斗音乐助兴 有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的App是原生安卓+webService+h5类型的,定位虽然没问题,但是在进行操作的时候各种不通过...……真的很头疼啊……我这里说的“操作”是指例如:清空输入框、输入用户名之类的,但是定位是没问题的。...然后下载的小米计算器: 进行的操作是:12+1= # coding: utf-8 from appium import webdriver from time import sleep desired_caps...我想给大家写一些实用性强的,因为网上搜到的全是用计算器做例子,原因就在这——定位和操作不复杂,写起来轻松加愉快… 让船长再研究一下安卓原生和h5混合的App该怎么弄… 还要感谢@小麦苹果大神的指点哈

79040

Appium iOS 元素定位与操作

概述 iOS App和Android App由于系统差异原因,元素属性和定位方式也存在一些差异,之前分享过Android 元素定位方式: 众里寻他千百度—Appium Android 元素定位方式 本文将分享...AppiumAppium 1.6 开始支持 XCUITest。因此对于iOS 9.2以下的系统需要使用UIAutomation方式定位,iOS 9.2以上的版本需要使用XCUITest定位。...和iOS元素常用定位工具如下表所示: 工具 支持平台 说明 appium-inspector android,iOS native 官方appium-desktop安装包自带, 命令行安装没有该工具 app-inspector...的Appium-desktop工具来获取元素,下载Appium-desktop Mac版(dmg结尾的包名) 然后配置应用参数启动Appium-desktop,不太清楚操作流程可以参考之前的博文: Appium...).perform() #点击操作 滑动 滑动操作也和Android app应用操作一样,详见之前的博文: Appium滑动操作 报错相关 定位连接中断 ProtocolError: ('Connection

4K20

Appium+python自动化12-appium元素定位

前言 appium定位app上的元素,可以通过id,name.class这些属性定位到 一、id定位 1.appium的id属性也就是通过UI Automator工具查看的resource-id属性 ?...2.如上图的定位,就可以通过id来定位 格式:driver.find_element_by_id("这里是resource-id") driver.find_element_by_id("com.taobao.taobao...:id/home_searchedit") 二、name定位 1、name定位就是通过UI Automator工具查看的text属性 (如果text属性为空,那就不能通过name属性定位了) ?...2.如上图的定位,就可以通过name来定位 格式:driver.find_element_by_name("这里是text") driver.find_element_by_name("搭配新宠不能缺"...定位就是通过UI Automator工具查看的content-desc属性 (当然下图这个元素的content-desc属性为空,就不能通过这个属性定位了,这里只是举个例子) ?

1.1K80

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

,我们主要依靠右下角的Node Detail信息进行定位。...buttons.pop(0).click() # 点击最后一个元素 buttons.pop().click() buttons.pop(-1).click() accessibility id 这个方法属于appium...find_element_by_link_text() find_element_by_partial_link_text() find_element_by_tag_name() 看一段代码: # coding: utf-8 from appium...,其实之前写了好多种,无奈它去乱点,根本不是想要定位的位置,比如我用class定位: 但是那一排的class是相同的,而且不能用find_elements_by_className()加索引的方式进行定位...大家也看到了,我的这个不知道为什么text就是不显示,似乎是应该可以显示的,不知道问题出在哪里 定位方式还有一个xpath,我也很关心这个该怎么用,但是我现在也不知道,不过似乎上面这些已经差不多可以进行用例编写了

1.9K70

Appium自动化(7) - 控件定位工具之Appium 的 Inspector

如果你还想从头学起Appium,可以看看这个系列的文章哦!...:Appium Desktop的Inspector UIAutomatorviewer 的局限性 不能校验我们写的定位表达式是否正确定位到控件(类似浏览器上的F12) 连接不够稳定 不能模拟用户动作 Appium...Appium Server 注意:久了这里可能会为空,需要手动选择本地Appium Server哦 下方的Desired Capabilities 因为只是定位控件,所以写必传的参数就可以啦!...Inspector 定位控件界面的详细介绍 ? 怎么看功能都比UIAutomatorviewer丰富吧!...那串黄色背景色的英文 不建议使用XPath定位器,因为它很脆弱,建议让开发团队提供独特的可访问性定位器(即:resource-id) Attribute - Value 属性列表,后面用一篇文章单独讲解哦

2.1K20

自动化测试之路 —— Appium元素定位

3.本文是使用Python语言配合Appium进行讲解,其他语言相关教程不在此做赘述。...3.接上回  前一篇我们使用Appium成功启动了对应的被测APP,那么接下来我们将对自动化APP测试中非常重要的一环:元素定位进行深入的探索和实践。...4.定位原理  我们一般使用Python或Java语言调用相关的Client,那么Appium里就会通过Webdriver协议(Selenium里同样)在应用层进行HTTP方式的数据请求,那么收到请求的手机上的...Appium APP的Server就会解析相关的请求并且使用Appium提供的相应自动化测试方法去驱动手机做出相应的操作。...所以建议在定位元素前多用用Inspector中的元素搜索功能查看一下;4.如果你是做iOS相关的APP自动化的话,尽量在元素定位的时候少用xpath方法来定位,即使是相对路径的方式也仍然会大大增加Appium

1.8K41

自动化测试之路 —— Appium元素定位

3.本文是使用Python语言配合Appium进行讲解,其他语言相关教程不在此做赘述。...3.接上回  前一篇我们使用Appium成功启动了对应的被测APP,那么接下来我们将对自动化APP测试中非常重要的一环:元素定位进行深入的探索和实践。...4.定位原理  我们一般使用Python或Java语言调用相关的Client,那么Appium里就会通过Webdriver协议(Selenium里同样)在应用层进行HTTP方式的数据请求,那么收到请求的手机上的...Appium APP的Server就会解析相关的请求并且使用Appium提供的相应自动化测试方法去驱动手机做出相应的操作。...所以建议在定位元素前多用用Inspector中的元素搜索功能查看一下; 4.如果你是做iOS相关的APP自动化的话,尽量在元素定位的时候少用xpath方法来定位,即使是相对路径的方式也仍然会大大增加Appium

86521

Appium之「元素定位和UiAutomator表达式」

目录 一、常见属性的用法 1.怎么用 resource-id? 2.其它属性 二、通过截图就可以看到元素的属性,那怎么元素定位呢?...1.appium - app 页面元素定位 2.UiAutomator 的表达式 3.什么时候用 UiAutomator 呢? 4.和 Web 自动化的定位有啥区别?...二、通过截图就可以看到元素的属性,那怎么元素定位呢? 和 Web 自动化一样的,都是通过元素属性来定位,而且比 Web 自动化简单。 App 中只支持 5 种元素定位方式。...1.appium - app 页面元素定位 1、通过 id 定位元素:resrouce-id 2、通过 ClassName 定位:classname 3、通过 AccessibilityId 定位:content-desc...Appium 中通过 driver.find_element 来找元素的,找到的结果对象是一个 WebEmemt。 「但是括号里面,不同的定位类型你要输入不同的定位表达式。」

99830

App自动化测试|Appium元素定位工具

常用元素定位工具使用uiautomatorviewer定位工具元素定位主要用来获取元素信息,获取元素信息后才能用appium提供的相关API去识别和操作元素。...Inspector定位工具打开Appium-Desktop之后,启动Appium服务,单击该页面右上角的第一个“Start Inspector Session”按钮,就会启动一个新的会话窗口。...中配置要识别元素信息app的appPackage和appActivity,点击”start session”即可自动启动android虚拟机的app,并能在Inspector工具上显示app界面,如下图图片Appium...Inspector定位工具界面介绍:1.Select Elements:根据元素定位;用来识别元素2.Swipe By Coordinates:根据坐标滑动页面;如果inspector界面没有展示全部...scrollable:可滚动long-clickable:可长点击password:隐藏明文(密文显示)selected:选中bounds:界面(起始点坐标/终止点坐标)resource-id:元素ID图片Appium

1.3K10
领券