美文网首页
UIAutomator2

UIAutomator2

作者: 龙猫六六 | 来源:发表于2019-03-20 14:39 被阅读0次

    介绍一种Android UI自动化框架UIAutomator2,使用发现该框架有如下优点:
    1.环境搭建便捷
    2.UI控件识别有专业工具,可视化好
    3.UI自动化编写采用python,学习成本低
    4.UI自动化脚本运行稳定

    缺点:
    存在设备兼容性问题,如:
    华为手机,无法通过IP离线执行UI自动化
    三星S8手机微信webview页面无法识别元素

    环境搭建

    Android环境

    从谷歌官网下载Android Platform Tools https://developer.android.com/studio/releases/platform-tools.html,解压,并加包含adb.exe的目录加入到系统的PATH中
    环境安装后验证代码

    adb devices
    
    image.png

    python3环境

    python3环境搭建参考先前的文章
    https://www.jianshu.com/p/da803d5f7ccd

    UIAutomator安装

    python2安装命令

    pip install --pre -U uiautomator2
    

    python3安装命令

    pip3 install --pre -U uiautomator2
    
    image.png

    手机设备环境

    手机链接pc,输入adb命令adb devices发现设备后表明设备已连接成功
    pc终端输入命令,以安装atx-agent至手机

    python3 -m uiautomator2 init
    

    安装成功如下图


    image.png

    应用及操作

    uiautomator2使用基本过程
    1.选择合适的方式连接手机,如usb数据线,Wi-Fi
    2.使用工具,抓去手机app的控件元素
    3.基于元素控件,调用uiautomator2 API编写UI自动化脚本

    手机连接方式

    1.使用WIFI连接
    手机获取到手机的IP,并确保电脑可以PING通手机。手机的IP可以在设置-WIFI设置里面获取到。华为手机无法通过Wi-Fi连接(华为系统原因)
    比如手机的IP是10.242.23.215,连接设备的代码为

    import uiautomator2 as u2  //依赖包
    d = u2.connect('10.242.23.215')
    

    2.使用USB连接

    手机的序列号可以通过adb devices获取到,假设序列号是123456f,连接代码为

    import uiautomator2 as u2
    d = u2.connect_usb('xxxxx')
    
    

    控件识别

    使用weditor进行元素识别,
    安装方法如下:

    pip3  install --pre weditor
    
    image.png

    使用方法
    1.手机连接pc,adb命令保证能正确读取到设备
    2.pc终端输入python3 -m webditor,浏览器自动打开网页http://atx.open.netease.com
    3.网页对应位置输入手机设备ip,点击connect连接手机设备,最后根据需要获取手机/app对应元素
    正常启动页面如下:
    设备id输入/Connect连接/reload刷新页面

    image.png

    UI自动化编写

    具体参考git:
    https://github.com/openatx/uiautomator2

    操作控件

    # click
    d(text="Settings").click()
    
    # long click
    d(text="Settings").long_click()
    
    # 等待元素的出现
    d(text="Settings").wait(timeout=10.0)
    

    中文字符输入

    d(text="Settings").set_text("你好")
    

    相关文章

      网友评论

          本文标题:UIAutomator2

          本文链接:https://www.haomeiwen.com/subject/wranmqtx.html