zoukankan      html  css  js  c++  java
  • uiautomator2 +Python进行Android原生应用UI测试

    uiautomator2封装了google的uiautomator(只能用java),uiautomator2可以使用脚本语言python进行编写,更简单直观地修改、运行自动化测试代码;

    不足为:仅支持Android平台的原生应用测试。

    使用方法:

    1、安装 python库uiautomator2(支持python3和python2)

      pip3 install --pre uiautomator2

    2、确保电脑连接移动设备, 并且adb环境已经可用

    3、需要在移动设备上安装atx-agent(守护进程,使用本库所需), atx-agent启动uiautomator2服务

      python3 -m uiautomator2 init

      执行该命令会自动安装本库所需要的设备端程序:uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch)

    4、通过python脚本连接设备

    import uiautomator2 as u2
    d = u2.connect_usb('a6bce413') #adb devices查询到的设备号
    #方式2:通过手机wifi连接(PC和移动设备使用的一个wifi)
    d = u2.connect_usb('192.134.11.13') #手机的ip地址为:192.134.11.13
    print(d.info)

    5、抓取app控件:
      A、工具1:uiautomatorviewer
      B、工具2:openatx提供了另外一个工具weditor 来解决这个问题简单用法来自网上:

        B1、安装:

        pip install --pre --upgrade weditor

        B2、使用:

        python3 -m weditor

        默认会通过浏览器打开页面:http://atx.open.netease.com/

        在页面左上角选择Android,输入设备IP(192.168.31.234)或者设备号(),点击Connect按钮。操作完手机后,可以点击“Reload”按钮从而保持与设备上的界面保持同步。

    import uiautomator2 as u2
    d = u2.connect_usb('a6bce413')
    print(d.info)
    # 启动App
    d.app_start("com.ulabs.ubbeybox")

    # 远程登陆
    d(description="Remote login").click()

    #停止应用
    d.app_stop("com.ulabs.ubbeybox")

    常用的定位方式:

    • ResourceId定位:
      d(resourceId="com.meizu.mzbbs:id/tp").click()

    • Text定位:
      d(text="精选").click()

    • Description定位:
      d(description="..").click()

    • ClassName定位:
      d(className="android.widget.TextView").click()

  • 相关阅读:
    设计模式之工厂模式-抽象工厂(02)
    1036 跟奥巴马一起编程 (15 分)
    1034 有理数四则运算 (20 分)
    1033 旧键盘打字 (20 分)
    1031 查验身份证 (15 分)
    大学排名定向爬虫
    1030 完美数列 (25 分)二分
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分)四舍五入
  • 原文地址:https://www.cnblogs.com/yoyo008/p/9296276.html
Copyright © 2011-2022 走看看