一、元素属性
- index 索引
- text, 属于元素的属性。@text,获取.text
- resource-id 不一定唯一
- class 是元素种类,对应HTML的tagname
- bounds, 边界坐标值,类似于 HTML的盒模型
- content-desc, 声音的时候使用
- checkable, 可以被选中
- focusable, 可以放光标,文本或者输入框
- description, 语音播报(给一些残疾人士或者盲人去听)
二、元素布局和控件
- imagevie ==> tagname,里面是一张图片
- textview , 专门去写文本的
- layout ,一种布局方式
- button, 是一个按钮
- checkbox, 单选
- switch, 表示开关, 比如手机设置上面点一下开了 点一下关了
- ratingbar,评分条,五星评分
- seekbar, 拖动条,比如说手机调亮度
- toast, 弹出
- webview(显示网页), 相当于html里面的iframe,在一个网页当中嵌套另一个网页。
- 等等...
三、怎么查看属性
通过webedit查看的时候,红色选中框里每行就是他的属性,
注意:
- 每一个元素的属性名都是固定的,每一个元素都有index,text,resourceID等等
- 属性值可以不填,不填说明属性值为空
- Android当中的resourceid并不一定是唯一的,所以不一定能用id作元素定位,这个时候就可以用id和其他属性组合的方式去定位元素。
- android当中没有name属性。
- android当中的text文本不需要加(),web自动化里text文本写成方式:text(),app自动化里写成方式: @text
四、定位元素的方式
- 首选xpath(weditor上面可以直接复制)
-
# 特别注意:android里显示resourceid,但是在python代码里属性还是写成id find_element('id', 'XXX')
# 特别注意:android里显示resourceid,但是在python代码里属性还是写成id
-
# 定位android当中的description属性 find_element_by_accessibility_id
# 定位android当中的description属性
-
# 要写java代码不推荐大家使用。 new一个selector对象,然后后面.text属性的名称 d = driver.find_element_by_android_uiautomator('new UiSelector().text("我")') d.click()
-
classname(不适合作为元素定位的方式,因为太多了,适合和其他的进行组合去定位)