Appium之UIAutomator API选择元素

枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述Appium之UIAutomator API选择元素相关的知识,希望能为你提供帮助。
UI Automator测试框架提供了一组API来构建UI测试。
利用UI Automator API可以执行在测试设备中,打开‘设置’菜单或应用启动器等操作。
UI Automator测试框架非常适合编写黑盒自动化测试
【注意】如果你的安卓机版本在6及以上,可以在desired_caps字典中加上下面这句代码:
                    \'automatorName\': \'UiAutomator2\'
UI Automator查看器
  访问设备状态:
            UI Automator测试框架提供了一个UiDevice类。该类可用于执行以下操作:
              - 更改设备旋转
【Appium之UIAutomator API选择元素】              - 按D-pad按钮
              - 按返回、主屏幕、菜单按钮
              - 打开通知栏
              - 对当前窗口进行屏幕截图
            如:要模拟按下‘主屏幕’按钮,请调用UiDevice.pressHome()方法
UI Automer API:
      UiSelector:是我们appium自动化代码选择元素时直接使用到的。
      UiSelector类似于appium中find_element_by_xxx()方法中的函数值。
    如:根据ID选择元素
        java语法:newSelector().resourceId("io.manong.developerdaily:id/tv_tab_title")
        appium用法:driver.find_element_by_android_uiautomator(\'new UiSelector().resourceId("io.manong.developerdaily:id/tv_tab_title")\')
    如:根据className选择元素
        java语法:new UiSelector().className("android.widget.TextView")
        appium 用法:driver.find_element_by_android_uiautomator(\'new UiSelector().className("android.widget.TextView")\')
    如:根据class name 和text属性
        code = \'new UiSelector().text("我的").classname("android.widget.TextView")\'
        ele = driver.find_element_by_android_uiautomator(code)
  如:根据childSelector和instance方法
        code = \'new UiSelector().resourceId(\'\\
                        \' "io.manong.developerdaily:id/tab_bar").childSelector(new UiSelectot().className(\'\\
                        \' "android.widget.TextView").instance(3))\'
        ele = driver.find_element_by_andorid_uiautomator(code)
        ele.click()
-------------------------代码实现------------------------------- 
       

Appium之UIAutomator API选择元素

文章图片

 
滑动屏幕:
      *  Appium WebDriver的swipe方法(坐标和duration)
      * 直接查看,估算操作坐标
      * 先获取元素坐标,再分析操作坐标(更健壮)
      location = ele.location    左上角坐标    (dict:有x,y)
      size1 = ele.size  宽  高  (dict:有width,height)
      操作不可见元素:
            * 先滑动到其可见
            * 再操作该元素
            * 获取全屏幕尺寸
                      screenSize = driver.get_window_size()
                      screenW = screenSize[\'width\']
                      screenH = screenSize[\'height\']
---------------------------代码实现------------------------------
       
Appium之UIAutomator API选择元素

文章图片
 

    推荐阅读