• Appium之UIAutomator API选择元素


    UI Automator测试框架提供了一组API来构建UI测试。

    利用UI Automator API可以执行在测试设备中,打开‘设置’菜单或应用启动器等操作。

    UI Automator测试框架非常适合编写黑盒自动化测试

    【注意】如果你的安卓机版本在6及以上,可以在desired_caps字典中加上下面这句代码:

                       'automatorName': 'UiAutomator2'

    UI Automator查看器

      访问设备状态:

                UI Automator测试框架提供了一个UiDevice类。该类可用于执行以下操作:

                 - 更改设备旋转

                 - 按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 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']

    ---------------------------代码实现------------------------------

            

  • 相关阅读:
    07.28周四
    07.27 约束自己
    07.26
    07.25新的一周,踏实,努力
    07.21 智能充电开发
    07.20小笔记
    07.20 html5的适配flexible
    07.19 Linux命令 cd
    SpringBoot简介和Banner
    webpack生产环境配置
  • 原文地址:https://www.cnblogs.com/peipei-Study/p/12009754.html
Copyright © 2020-2023  润新知