app自动化元素定位

一、元素属性

  • 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查看的时候,红色选中框里每行就是他的属性,

注意:

  1. 每一个元素的属性名都是固定的,每一个元素都有index,text,resourceID等等
  2. 属性值可以不填,不填说明属性值为空
  3. Android当中的resourceid并不一定是唯一的,所以不一定能用id作元素定位,这个时候就可以用id和其他属性组合的方式去定位元素。
  4. android当中没有name属性。
  5. android当中的text文本不需要加(),web自动化里text文本写成方式:text(),app自动化里写成方式:  @text 

四、定位元素的方式

  1. 首选xpath(weditor上面可以直接复制)
  2. # 特别注意:android里显示resourceid,但是在python代码里属性还是写成id
    find_element('id', 'XXX')

    # 特别注意:android里显示resourceid,但是在python代码里属性还是写成id

  3. # 定位android当中的description属性
    find_element_by_accessibility_id
    

    # 定位android当中的description属性

  4. # 要写java代码不推荐大家使用。     new一个selector对象,然后后面.text属性的名称
    d = driver.find_element_by_android_uiautomator('new UiSelector().text("我")')
    d.click()
    

  5. classname(不适合作为元素定位的方式,因为太多了,适合和其他的进行组合去定位)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值