若appium中给定的方法无法满足你的需求,刚好uiautomator中的方法可以满足你的需求时,你可使用find_element_by_android_uiautomator来调用uiautomator中的方法来实现。

appium底层文件webdriver中给出的说明如下:

def find_element_by_android_uiautomator(self, uia_string):
"""Finds element by uiautomator in Android. :Args:
- uia_string - The element name in the Android UIAutomator library :Usage:
driver.find_element_by_android_uiautomator('.elements()[1].cells()[2]')
"""
return self.find_element(by=By.ANDROID_UIAUTOMATOR, value=uia_string)

 看了一会,愣是没有明白给出的示例是什么意思,实际脚本中怎么运用,我知道是自己太笨了,所以果断还是找能看懂的示例进行学习吧,因此哈哈还真找到了,将此运用方式写成简单的示例来记录,说明:这里已text为例,其余的uiautomator中的方法使用形式与此一致,因此会一个足以按照此方式来实现其他需求。

示例如下:

# coding=UTF-
'''
Created on 2017.12.
@author: Lucky
'''from appium import webdriver class Customer: def __init__(self):
logging.info("Test_appium.....setUp")
desired_cups = {}
desired_cups['platformName'] = 'Android'
desired_cups['platformVersion'] = '7.0'
desired_cups['deviceName'] = 'aa'
desired_cups['appPackage']= 'com.ibroker.iBerHK'
desired_cups['appActivity'] = '.SplashActivity'
self.device = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_cups)
self.device.implicitly_wait() #全局默认等待最大时间 #第一种 直接点击字符串
  def Enter_Customer_List(self):
'''select:通訊錄導入 and 手動添加'''
self.device.find_element_by_android_uiautomator('text(\"列表\")').click() #点击 字符串“列表”   #第二种 通过参数的给定来操作
  def Enter_Customer_List2(self,name):
        '''select:通訊錄導入 and 手動添加'''
self.device.find_element_by_android_uiautomator('text(\"'+name+'\")').click()
if __name__ == "__main__":
  c = Customer()
  c.Enter_Customer_List()
  c.Enter_Customer_List('列表')
   

appium 元素定位find_element_by_android_uiautomator方法使用的更多相关文章

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

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

  2. appium元素定位总结

    appium元素定位方法总结 使用uiautomator定位 driver.find_element_by_android_uiautomator(uia_string) 根据resourceId属性 ...

  3. 『与善仁』Appium基础 — 20、Appium元素定位

    目录 1.by_id定位 2.by_name定位 3.by_class_name定位 4.by_xpath定位 5.by_accessibility_id定位 6.by_android_uiautom ...

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

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

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

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

  6. appium元素定位工具

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

  7. appium 元素定位方法汇总

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

  8. appium 元素定位与操作:

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

  9. appium===元素定位

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

随机推荐

  1. centos 7查看防火墙报错(已解决,之前安装过python3)

    [root@localhost ~]# service firewalld restartRedirecting to /bin/systemctl restart firewalld.service ...

  2. Ocelot中文文档-Qos服务质量

    目前Ocelot支持一种QoS功能. 如果您希望在请求向下游服务时使用断路,则可以在ReRoute中进行设置. 这个功能使用了一个名为Polly的.NET库,这个库很棒,在这里可以找到它. 添加如下配 ...

  3. C#System.Text.RegularExpressions.Regex使用(二) .

    (6)特殊字符的匹配 string x = "//"; Regex r1 = new Regex("^////$"); Console.WriteLine(&q ...

  4. Django rest framework源码分析(3)----节流

    目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...

  5. vue.js常见的报错信息及其解决方法的记录

    1.Vue packages version mismatch 翻译:vue包版本匹配错误 报错样例: 报错原因:通常出现于一些依赖库的更新或者安装新的依赖库之后(可以认为npm update已经成为 ...

  6. 实现对ASP.NETMvc及Asp.NetCore的权限控制

    AccessControlHelper Build Status Intro 由于项目需要,需要在 基于 Asp.net mvc 的 Web 项目框架中做权限的控制,于是才有了这个权限控制组件. 项目 ...

  7. vue 路由嵌套高亮问题

    正常路由嵌套是没有问题的,但是如果你已经在当前主路由页面了,然后再次点击主路由就会出现页面数据空白的情况 看代码: //主路由通过v-for循环出来 <div class="list- ...

  8. servlet3.0 新特性——异步处理

    Servlet 3.0 之前,一个普通 Servlet 的主要工作流程大致如下: 首先,Servlet 接收到请求之后,可能需要对请求携带的数据进行一些预处理: 接着,调用业务接口的某些方法,以完成业 ...

  9. mysql 从一个表中查数据,插入另一个表

    其实很简单,只是为了忘记,做个记录,用的时候方便. 不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指 ...

  10. linux netlink通信机制

    一.什么是Netlink通信机制  Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口. Netlink 是一种特殊的 s ...