appium元素定位方法总结

使用uiautomatorviewer定位工具driver.find_element_by_android_uiautomator(uia_string)

根据resourceId属性定位

driver.find_element_by_android_uiautomator('new UiSelector().resourceId("%s")')

体现:如下图,点击顶部扫码器:

对应uiautomator名称:“ resource-id”:

driver.find_element_by_android_uiautomator('new UiSelector().resourceId("com.rfchina.app.supercommunity:id/square_title_btn_scan")').click()

选择resource-id定位需要特别注意,界面中resource-id不是唯一的,有可能存在很多控件的resource-id是相同的。

根据文本,描述,类名,索引属性定位

# 根据 text 定位
driver.find_element_by_android_uiautomator('new UiSelector().text("%s")') #对应uiautomator名称:“text”

# 根据 description 定位
driver.find_element_by_android_uiautomator('new UiSelector().description("%s")') # 对应uiautomator名称:“content-desc”

# 根据 className 定位
driver.find_element_by_android_uiautomator('new UiSelector().className("%s")') # 对应uiautomator名称:“class”

# 根据 index 定位
driver.find_element_by_android_uiautomator('new UiSelector().index("%s")') # 对应uiautomator名称:“index”

选择className定位需要特别注意,界面中class往往都不是唯一的,大量控件的class会一样。

根据content-desc定位 driver.find_element_by_accessibility_id()

根据xpath定位 driver.find_element_by_xpath()

from appium import webdriver
import time desired_caps = {
"appPackage": "com.rfchina.app.supercommunity",
"appActivity": "com.rfchina.app.supercommunity.client.StartActivity",
"platformName": "Android",
"deviceName": "Android Emulator"
} driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
time.sleep(5)
driver.find_element_by_id("com.rfchina.app.supercommunity:id/img_serivce_communities_layout").click()

appium元素定位总结的更多相关文章

  1. Python Appium 元素定位方法简单介绍

    Python  Appium  元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...

  2. 4、通过uiautomatorviewer实现appium元素定位

    熟悉selenium自动化的小伙伴应该知道WebDriver 提供了八种元素定位方法: idnameclass nametag namelink textpartial link textxpathc ...

  3. appium元素定位工具

      appium元素定位工具介绍 使用uiautomatorviewer定位工具 使用Appium Inspector定位工具 使用uiautomatorviewer定位工具 谷歌在Android S ...

  4. APP 自动化之appium元素定位(三)

    APP自动化测试关键环节--元素定位,以下我们来了解appium提供的元素定位方法! 1. id定位,id一个控件的唯一标识,由开发人员在项目中指定,如果一个元素有对应的resource-id,我们就 ...

  5. appium 元素定位方法汇总

    以上图为例,要定位到右下角的 我的 ,并点击 # appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_e ...

  6. appium 元素定位工具

    两种元素定位工具: 1.uiautomatorviewer是android-sdk自带的一个元素定位工具,目录D:\androidsdk\androidsdk\tools\bin . 双击启动uiau ...

  7. appium 元素定位与操作:

    一.常用识别元素的工具   uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium I ...

  8. appium===元素定位

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...

  9. Appium——元素定位

    首先介绍两种定位元素的工具,appium自带的 Inspector 和 android SDK自带的 uiautomatorviewer 1.UIAutomator Viewer比较简单,在模拟器打开 ...

随机推荐

  1. ECMAScript 6 入门 - 阮一峰

    body #home { width: 100%; max-width: 1368px } #inlineFrame { width: 100%; height: calc(100vh - 30px) ...

  2. GoSDK的安装及环境变量配置 入门详解 - 精简归纳

    GoSDK的安装及环境变量配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 29 转载请注明出处!️ 目录 GoSDK的安装及环境变量配置 入门详解 - 精简归纳 一.进入G ...

  3. Linux下的django项目02

    3.创建user模型 3.1 创建用户模型user 第一步 django-admin startproject syl 第二 在syl下创建apps文件包并标记根源 cd 到apps下并进行以下步骤 ...

  4. rclone 云盘同步工具的正确打开方式

    Rclone 是一款的命令行工具,支持在不同对象存储.网盘间同步.上传.下载数据. 官网网址:https://rclone.org/ Github 项目:https://github.com/ncw/ ...

  5. 用GitHub Pages搭建博客(七)

    本篇介绍百度统计.百度搜索 一般来讲,部署了一个网站后,我们需要知道网站的浏览量,以便知道网站是否有人访问. 在Jekyll的模板中,由于国外开发者更多,一般的主题默认都开发了谷歌统计(Google ...

  6. 分布式文档存储数据库之MongoDB基础入门

    一.MongoDB简介 MongoDB是用c++语言开发的一款易扩展,易伸缩,高性能,开源的,schema free 的基于文档的nosql数据库:所谓nosql是指不仅仅是sql的意思,它拥有部分s ...

  7. 关于C中指针的引用,解引用与脱去解引用

    *,& 在指针操作中的意义 (1)* 大家都知道在写int *p 时,*可以声明一个指针.很少人知道*在C/C++中还有一个名字就是"解引用".他的意思就是解释引用,说的通 ...

  8. 【Kata Daily 190919】Sort Out The Men From Boys(排序)

    题目: Scenario Now that the competition gets tough it will Sort out the men from the boys . Men are th ...

  9. pip升级失败

    python -m pip install --upgrade pip失败 解决办法: easy_install pip

  10. 使用arm-none-eabi-gdb报错error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

    使用arm-none-eabi-gdb报错error while loading shared libraries: libncurses.so.5: cannot open shared objec ...