• Appium+python自动化-元素定位uiautomatorviewer的使用


    前言   

    环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作. 

    uiautomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。

    一、启动uiautomatorviewer.bat

        1.打开目录D:androidsdkandroid-sdk-windows ools

        2.双击启动,启动之后出现如下界面

     

        3如果不喜欢双击启动的话,也可以在cmd里面通过指令启动

    先cd到tools目录下,然后输入uiautomatorviewer.bat回车后启动服务



    二、连接手机

        1.cmd打开输入adb devices,确认手机已连上

        2.打开手机要使用的APP页面,让屏幕处于点亮状态

        3.点左上角安卓机器人按钮Devices Screenshot按钮刷新页面

        1.移动鼠标到需要定位的元素上,如搜索输入框

       2.右下角可以看到元素对应的属性

    text:              空

    resource-id: cn.qysxy.daxue:id/iv_home_top_search

    class:           android.widget.ImageView

    xpath:           //android.widget.ImageView[@resource-id='cn.qysxy.daxue:id/iv_home_top_search']



    四、点搜索框

        1.前面一篇启动app后,休眠五秒,等待页面加载完成

        2.通过id来定位到搜索框,然后点击

    五、最终代码如下

    # 布道官--首页
    
    from appium import webdriver
    from time import sleep
    import os
    
    caps = {}
    caps["platformName"] = "Android"  # 平台名称
    caps["platformVersion"] = "5.1.1"  # 设备系统的版本号
    caps["deviceName"] = "127.0.0.1:62001"  # 夜神虚拟机
    caps["appPackage"] = "cn.qysxy.daxue"
    caps["appActivity"] = ".modules.login.LoginActivity"
    caps["noReset"] = "true"
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
    
    # 隐式等待 ,如果没有找到"布道官"会报错
    # driver.implicitly_wait(10)
    # 获取结果文本
    res_text = driver.find_element_by_id('cn.qysxy.daxue:id/tv_login_enterprise_name').text
    assert res_text == '布道官'
    

      


    六、元素定位

        1.appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_element_by然后会自动匹配出来

       2.多的三种如下,在后面的会详细介绍

    driver.find_element_by_accessibility_id()

    driver.find_element_by_android_uiautomator()

    driver.find_element_by_ios_uiautomation()

    (第三个是ios的可以暂时不用管)

  • 相关阅读:
    资料收集
    layui 设计资源——2.0 版本的 Axure 组件包,产品交互设计利器
    照片自动按时间分类助手
    回顾2017,规划2018,展望2019
    coder/programmer engineer Chirf Technology Offcer
    新手开公司创业,这些坑千万别掉进去!
    ASP.NET MVC中的Global.asax文件
    SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.0
    快速开发之代码生成器(asp.net mvc4 + easyui + knockoutjs)
    PowerDesigner逆向工程导入MYSQL数据库总结
  • 原文地址:https://www.cnblogs.com/liunaixu/p/11051804.html
Copyright © 2020-2023  润新知