python appium笔记(二):元素定位
#这里的示例是用android来说明的,xpath应该是通用的,resource-id不太清楚,没配过IOS的环境
#环境配置和一些参数的意思不清楚可以看我上一篇python appium笔记(一)
(一)说明
主要说明下面2种方式,其实感觉通过xpath,不管selenium还是appium,应该能定位全部元素了。
1、resource-id:定义了resource-id,并且唯一的情况下,可以使用这种方式
2、xpath:任何情况下,都可以用xpath进行定位
(二)查看
#做第四步的时候,记得先连真机,并且开启USB调试
1、启动appium,点击下面的start server

2、点击file -- new session window

3、配置Desired Capabilities(这里可以保存配置信息,方便下次使用)

4、Start Session启动

5、如上图,可以看到resource-id的值,但是可以发现这个值不是唯一的。

6、所以可以用xpath进定位,把 android.widget.ImageView这些东西当成HTML的标签看就行了。(这里我当你已经能熟练的在selenium中使用xpath定位)
//android.support.v7.app.ActionBar.Tab[4]//android.widget.ImageView
(三)示例
这里用博客园的app做示例了

from appium import webdriver
import time
desired_caps = {
'platformName':'Android',
#用真机的时候,这个参数deviceName没什么用,但是还是必须要有这个参数,值的话随便填就行了
'deviceName':'HUAWEI',
'platformVersion':'7.0',
'appPackage':'com.rae.cnblogs',
'appActivity':'com.rae.cnblogs.activity.LauncherActivity',
'unid':'填写自己手机unid的值',
'noReset':'true',
#设置下面2个参数解决不能输入中文的问题
'unicodeKeyboard': 'True',
'resetKeyboard':'True'
}
driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(20)
#定位 我,通过xpath定位
my = driver.find_element_by_xpath('//android.support.v7.app.ActionBar.Tab[4]//android.widget.ImageView')
my.click()
#定位意见反馈,通过resource-id定位
idea = driver.find_element_by_id('com.rae.cnblogs:id/ll_feedback')
idea.click()
#定位意见反馈输入框
idea_input = driver.find_element_by_id('com.rae.cnblogs:id/avoscloud_feedback_input')
# idea_input = driver.find_element_by_xpath('//android.widget.LinearLayout[2]/android.widget.EditText')
#定位发送意见按钮
idea_send = driver.find_element_by_id('com.rae.cnblogs:id/avoscloud_feedback_send')
#输入意见信息
idea_input.send_keys('博客园is very good!support you')
#点击发送
idea_send.click()
time.sleep(10) #睡眠10秒
#退出app
driver.quit()
python appium笔记(二):元素定位的更多相关文章
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
- Python+Appium自动化测试(6)-元素等待方法与重新封装元素定位方法
在appium自动化测试脚本运行的过程中,因为网络不稳定.测试机或模拟器卡顿等原因,有时候会出现页面元素加载超时元素定位失败的情况,但实际这又不是bug,只是元素加载较慢,这个时候我们就会使用元素等待 ...
- Appium学习笔记4_元素定位方法
Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自 ...
- Python自动化中的元素定位xpath(二)
1.Xpath元素定位 1)ele = b.find_element_by_xpath(‘/html/body/from/input[1]’) 2)Ele = b.find_element_by_xp ...
- python+appium 自动化2--元素定位uiautomatorviewer
出处:https://www.cnblogs.com/yoyoketang/p/6128741.html 前言: 可以打开手机上的app了,下一步元素定位uiautomatorviewer,通过定位到 ...
- python appium笔记(一):appium android环境配置及示例
(一) 简介 Appium是一个开源的自动化测试框架,可以用来测试基于iOS.Android和Firefox OS平台的原生和混合应用.该框架使用Selenium Webdriver,在执行测试时和 ...
- Python+Appium自动化测试(13)-toast定位
一,前言 在app自动化测试的过程中经常会遇到需要对toast进行定位,最常见的就是定位toast或者获取toast的文案进行断言,如下图,通过定位"登录成功"的toast就可以断 ...
- python学习之——selenium元素定位
web自动化测试按步骤拆分,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 其中定位元素尤为关键,此篇是使用webdriver通过页面各个 ...
- Appium(六):元素定位
1. 元素定位 对于自动化测试来说,核心技能就是对象的定位了.不管是web页面上的按钮或输入框,还是移动app上的一个按钮或输入框,我们要想对其进行点击或输入操作,前提是要先找到这个对象. webdr ...
随机推荐
- Ajax 提交 数据含特殊字符 出现500错误
Ajax 请求API接口 传输过去的数据 含有特殊字符,Ajax请求失败出现500错误. 假设你要post过去的数据为 :data ==>> {a:'!@!@!@!@#$#{}|> ...
- 使用awk和sed获取文件奇偶数行的方法总结
测试文件test.file [root@localhost ~]# cat test.file 111111111111111 222222222222222 333333333333333 4444 ...
- javaScript之变量与数据类型
http://www.cnblogs.com/yuanchenqi/articles/5980312.html 在了解变量之前,我们首先学习JavaScript的引入方式 JavaScript的引入方 ...
- Perl模块管理
Perl模块管理 perl有自带的模块,还有第三方模块.自带的模块是随perl安装而安装好的,第三方模块需要从CPAN(Comprehensive Perl Archive Network)上下载并安 ...
- [转]VirtualBox centos7扩容
本文转自:https://www.cnblogs.com/xd502djj/p/7367704.html 有时候扩容还真不如重新建立一个大硬盘的系统,但是如果你安装了好多东西的话,那还是来扩容一下吧. ...
- 【转载】C#使用正则表达式校验邮箱
在C#中,可以使用Regex正则表达式类来校验前台提交过来的邮箱字段信息是否符合要求,Regex类是C#中有关正则表达式处理的相关类,功能强大,我们只需要在实例化Regex类的时候指定相应的规则为邮箱 ...
- Html5游戏开发-图形与动画(一)
最近研究了一下出来了很久的HTML5,总结了一下,准备来个系列,文中也许有很多问题,欢迎大家指正. Canvas介绍 canvas用于在网页中绘制图形的一个元素,具体内容请查看 -> HTML5 ...
- 各个模式的accesstoken续期详解
一些预备知识 jwt的时间格式 转换为时间可以用js, new Date(1531841745*1000) ==>Tue Jul 17 2018 23:35:45 GMT+0800 (中国标准时 ...
- mysql存储过程调用含out参数
mysql 数据库有以下存储过程: CREATE DEFINER=`root`@`localhost` PROCEDURE `hovertreeTest`( IN `Param1` INT, ), O ...
- springMVC_04controller四种配置总结
一.通过url对应bean,加粗部分为必须有的 <bean class=" org.springframework.web.servlet.handler.BeanNameUrlHan ...