当前位置: 首页>移动开发>正文

HJ3 10.4 app 控件定位

android 基础知识

  • Android 是通过容器的布局属性来管理子控件的位置关系,布局过程就是把界面上的所有的控件,根据他们的间距的大小,摆放在正确的位置
  • Android 七大布局
    • LinearLayout(线性布局)
    • RelativeLayout(相对布局)
    • FrameLayout(帧布局)
    • AbsoluteLayout(绝对布局)
    • TableLayout(表格布局)
    • GridLayout(网格布局)
    • ConstraintLayout(约束布局)
  • Android 四大组件
    • activity 与用户交互的可视化界面
    • service 实现程序后台运行的解决方案
    • content provider 内容提供者,提供程序所需要的数据
    • broadcast receiver 广播接收器,监听外部事件的到来(比如来电)
  • 常用的控件
    • TextView(文本控件),EditText(可编辑文本控件)
    • Button(按钮),ImageButton(图片按钮),ToggleButton(开关按钮)
    • ImageView(图片控件)
    • CheckBox(复选框控件),RadioButton(单选框控件)
  • 布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,从而编写出精美的界面。当然,布局的内部除了放置控件外,也可以放置布局,通过多层布局的嵌套,我们就能够完成一些比较复杂的界面。

dom 结构解读

  • dom:Document Object Model 文档对象模型
  • dom 应用:最早应用于 html 和 js 的交互。用于表示界面的控件层级,界面的结构化描述,常见的格式为 html、xml。核心元素为节点和属性。
  • xpath:xml 路径语言,用于 xml 中的节点定位。
  • android 应用的层级结果与 html 不一样,是一个定制的 xml
  • app source 类似于 dom,表示 app 的层级,代表了界面里面所有的控件树的结构。
  • 每个控件都有它的属性(resourceid,xpath,aid),没有 css 属性

id、aid、xpath 定位方法

  • 测试步骤三要素:

    • 定位、交互、断言
    • 定位方式
      • id 定位
        driver.findElement(By.id("xxx"));(content-desc 属性值)
      • accessibility_id 定位
        driver.findElement(MobileBy.AccessibilityId("xxx"));(content-desc属性值)
      • xpath 定位
        driver.findElement(By.xpath("xxx"))(xpath 属性值)
      • classname 定位(不推荐)
        https://www.freefomatter.com/xpath-tester.html/#ad-output格式化xml
  • xpath 定位

    • 绝对定位
    • 相对定位
      • //*[@test='text属性值']
      • //*[@resource-id='id属性值']
  • 多属性精准定位

    • //*[@text='text属性值' and @resource-id='id属性值']

uiautomatorviewer 定位工具使用


https://www.xamrdz.com/mobile/4k61994628.html

相关文章: