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



  • 相关阅读:
    虚拟机安装Ubuntu 18.04.1 LTS教程
    Ubuntukylin-16.04.4设置root用户自动登陆
    git 删除本地分支,远程分支,创建tag
    elementui多选后无法再选择或者取消
    git分支改名oldName改为newName
    js前端流的方式下载execl
    vue实现网页导出pdf
    vue下载图片
    js原生方法 document.execCommand实现复制
    js原生方法 document.execCommand实现复制
  • 原文地址:https://www.cnblogs.com/may18/p/14580946.html
Copyright © 2011-2022 走看看