Appium 定位方法例子(4)
有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的App是原生安卓+webService+h5类型的,定位虽然没问题,但是在进行操作的时候各种不通过……真的很头疼啊……我这里说的“操作”是指例如:清空输入框、输入用户名之类的,但是定位是没问题的。今天先给大家看一个比较标准的App,用这种就没有任何问题,其实也是船长在偷懒,因为计算器的操作真的是太简单啦~
。
我百度的“计算器apk”:
然后下载的小米计算器:
进行的操作是:12+1=
# coding: utf-8
from appium import webdriver
from time import sleep
desired_caps = {'platformName': 'Android',
'deviceName': '127.0.0.1:62001',
'platformVersion': '23',
'appPackage': 'com.miui.calculator',
'appActivity': 'com.miui.calculator.cal.CalculatorActivity'}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
sleep(2)
# 操作:12+1=
# resource-id
driver.find_element_by_id("com.miui.calculator:id/btn_1").click()
# text
driver.find_element_by_name("2").click()
# content-desc
driver.find_element_by_accessibility_id("加").click()
# class【注:1的索引是6,7的索引是0】
driver.find_elements_by_class_name("android.widget.Button")[6].click()
# uiautomator
driver.find_element_by_android_uiautomator('new UiSelector().description("等于")').click()
我想给大家写一些实用性强的,因为网上搜到的全是用计算器做例子,原因就在这——定位和操作不复杂,写起来轻松加愉快…
让船长再研究一下安卓原生和h5混合的App该怎么弄…![]()
![]()
![]()
还要感谢@小麦苹果大神的指点哈~我太笨,学起来太慢![]()
![]()
![]()
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

Appium 定位方法例子(4)的更多相关文章
- appium定位方法
1.id定位 driver.find_element_by_id("这里是resource-id") 2.name定位 (新版本的appium 1.7 已经没有这个定位方法了) d ...
- 3.appium定位方法
1.使用id定位: driver.find_element_by_id('id的名称').click() 2.使用className定位: driver.find_element_by_class_n ...
- appium---uiautomator定位方法
前面总结了7种定位方法,今天在介绍一种uiautomator方法,其实appium就是基于uiautomator框架实现的,让我们一起看下uiautomator有哪些定位方法可以使用 uiautoma ...
- python+Appium自动化:各种元素定位方法
name定位 driver.find_element_by_name('飞利浦净水').click() 测试结果报错:selenium.common.exceptions.InvalidSelecto ...
- Appium学习笔记4_元素定位方法
Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自 ...
- Python Appium 元素定位方法简单介绍
Python Appium 元素定位 常用的八种定位方法(与selenium通用) # id定位 driver.find_element_by_id() # name定位 driver.find_ ...
- Robotframework + Appium 之常用元素定位方法
任何自动化测试,其实手动测试也是一样的,元素定位(目标定位)是首要任务,这是最直接的测试对象呀! 好了,废话不多说,又到了元素定位啦,之前我们已经介绍过selenium及appium常用的定位方法,下 ...
- appium 元素定位方法汇总
以上图为例,要定位到右下角的 我的 ,并点击 # appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_e ...
- 基于appium的常用元素定位方法
一.元素定位工具 app应用的元素使用的是控件定位,不同于web网页,web网页定位元素通常使用的是F12工具,那么在app当中我们则要借助其它的工具来辅助定位. 1.uiautomatorviewe ...
随机推荐
- QtCreator的中如何使用第三方依赖库
> https://blog.csdn.net/e5Max/article/details/9840331 ```LIBS += -L/usr/local/lib -lmath ``` ``` ...
- scp 上传 下载 文件
linux 中的ssh命令: scp 可以用来上传本地文件到远程服务器 或下载远程服务器中的文件到本地 1. 上传本地文件到远程服务器 scp readme.md user@www.*****.com ...
- [Vue]组件——使用.native和$listeners将控件的原生事件绑定到组件
1.方法1:.native修饰符 1.1.native修饰符:将原生事件绑定到组件的根元素上 <base-input v-on:focus.native="onFocus"& ...
- 转载:Object的create方法文档
源地址:https://developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Global_Objects/Object/create#.E4.B ...
- 转载:Javascript面向对象编程原理 -- 理解对象
源地址:http://www.html-js.com/article/1717 虽然JavaScript中已经自带了很多内建引用类型,你还是会很频繁的需要创建自己的对象.JavaScript编程的很大 ...
- Project facet Java 1.8 is not supported by target runtime Apache Tomcat v7.0.
找到项目下的“.settings”
- php上传文件出现500错误
问题: 能上传小于10k的文件,上传大于10k的文件就会报500错误 解决办法: 首先查看错误日志,看看报错是什么 其次查看client_body_temp的权限问题 关于client_body_te ...
- day32 Python与金融量化分析(二)
第一部分:金融与量化投资 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社 ...
- .pth 文件扩展python环境路径
有时候我们不希望把一个库放到 site-packages 下面,而是更愿意把它保留在原始的工程目录中,方便管理和维护. 通常的做法是在程序启动的时候,往sys.path里面增加这个目录,但是这样做非常 ...
- Python 常用 PEP8 编码规范
Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...