zoukankan      html  css  js  c++  java
  • uiautomator2使用(python)

    uiautomator2 打开app也比appium简单,直接用app_start方法就行了

    d=ut.connect('127.0.0.1:62001')  # 连接设备
    print(d.device_info)
    d.app_start('com.ss.android.article.lite','com.ss.android.article.lite.activity.SplashActivity') #打开app

    在weditor里查到元素定位,然后用d()就可以了,比appium里的find_element_by_xpath这种简单

    例子:

    import uiautomator2 as ut
    import time
    d=ut.connect('127.0.0.1:62001')
    
    print(d.device_info)
    d.app_start('com.ss.android.article.lite','com.ss.android.article.lite.activity.SplashActivity') #打开app
    d.implicitly_wait(10)
    d(text='热榜').click()
    d(text='未登录').click()
    d(text="登录").click()
    d(text="手机号").send_keys('13409012321')
    d(text='请输入验证码').send_keys('123456')
    d(text='进入').click()

    常用的 UiAutomator2 定位方式有 6 种,分别是:

    • ID 定位

    • Text 文本定位

    • Description 定位

    • ClassName 定位

    • Xpath 定位

    • 组合定位

    搜索

    UiAutomator2 中提供了 send_keys() 方法,用于向输入框中设置文本

    注意:参数 clear 如果设置为 True,则在输入内容之前,会先清空输入框,默认值为 False

    # 输入内容
    device.send_keys("Python", clear=True)
    
    # 点击搜索按钮
    device(text="搜索").click()

    滑动

    UiAutomator2 提供了两个方法用于滑动界面,分别是:

    • swipe_ext( 滑动方向 )

    • swipe( 开始 x 轴,开始 y 轴,结束 x 轴,结束 y 轴值,滑动时间 )

    经过测试发现,滑动操作,swipe_ext() 使用效果不稳定,建议使用 swipe() 函数

    for i in range(5):
        print('滑动一次')
        swipe_custom(device, 0.5, 0.8, 0.5, 0.2, 1.2)

    关闭应用

    在完成自动化操作后,就可以调用 app_stop() 方法强制关闭应用

    # 停止App
    device.app_stop(PACKAGE_NAME)

    可以在每次操作完,使用 UiAutomator2 提供的方法 app_clear() 清除 App 数据

    # 清除App数据
    # device.app_clear(PACKAGE_NAME)

    通过上面的实例,我们发现 UiAutomator2 相比 Appium,语法更简洁易懂,代码量也少了很多

    但是由于 Uiautomator2 仅适用于 Android 端,Appium 拥有多语言、跨平台的特性,企业级自动化一般会选择后者


    链接:https://www.jianshu.com/p/94d05873065a



  • 相关阅读:
    linux进阶1
    linux中使用mysql数据库
    计算机是如何启动的
    宿主机mount虚拟机镜像文件
    SHA1算法原理
    KVM初始化过程
    关于内存对齐
    thread_info&内核栈
    gradlew compileDebug --stacktrace -info
    Android listview子控件的的点击事件(转)
  • 原文地址:https://www.cnblogs.com/may18/p/14580946.html
Copyright © 2011-2022 走看看