zoukankan      html  css  js  c++  java
  • 移动自动化appium --如何获取安卓手机的toast提示语

    toastAndroid系统中一种消息框类型,比如很多APP点击一次返回,会有个灰色弹出框提示:“再次点击退出XX”这样的消息,这个弹出框就是toast

    那么如何获取到toast显示的内容呢?

    appiumtoast和找普通的控件没有太大的区别,但是需要先装个东西:

    cnpm install appium-uiautomator2-driver

    然后连接手机或者driver的代码里面增加一个键值对:

    'automationName': 'Uiautomator2',

    'Uiautomator2'是一个可以识别安卓UI界面控件的框架,之前都是使用的'Uiautomator'

    比如我们进入华为手机的文件管理页面,点击返回,会提示:再次点击即可退出,怎么获取到这个提示呢?

    代码如下:

    import time
    
    from appium import webdriver
    
    from selenium.webdriver.common.by import By
    
    from selenium.webdriver.support.wait import WebDriverWait
    
     
    """连接手机,获取driver"""
    
    server = r'http://localhost:4723/wd/hub'  # Appium Server, 端口默认为4723
    
    desired_capabilities = {
    
        # 设备信息
    
        'platformName': 'Android',
    
        'deviceName': '127.0.0.1:62001',
    
        'platformVersion': '5.1.1',
    
        # app信息
    
        'appPackage': ' com.cyanogenmod.filemanager',
    
        'appActivity': '.activities.NavigationActivity',
    
        # 中文问题
    
        'unicodeKeyboard': True,
    
        'reserKeyBoard': True,
    
        # 测试完毕退出后不清理APP缓存
    
        'noReset': True,
    
        'fullReset': False,
    
        # toast
    
        'automationName': 'Uiautomator2'
    
    }
    
    # 声明对象
    
    driver = webdriver.Remote(server, desired_capabilities)  # 连接手机和APP
    
    
    def find_toast(message):
    
        message = "//*[contains(@text, '" + message + "')]"
    
        ele = WebDriverWait(driver, 5, 0.1).until(lambda x : x.find_element(By.XPATH, message))
    
        return ele.text
    
    
    time.sleep(3)
    
    driver.press_keycode(4)  # 点击返回按钮,适用于Uiautomator2框架
    
    # driver.keyevent(4)   # 适用于Uiautomator1框架
    
    
    print(find_toast('退出'))
  • 相关阅读:
    Docker 制作定制asp.netcore 的容器
    Windows docker k8s asp.net core
    Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装
    ubuntu 18 docker 搭建Prometheus+Grafana
    ubuntn18 docker zabbix+grafana安装和使用
    .net Core MongoDB用法演示
    Ubuntu18 安装搭建Harbor
    ubuntu docker inflxudb(安装 使用 备份 还原 以及python编码) telegraf Grafana
    python selenium爬虫工具
    python selenium IE Firxfor pyinstaller
  • 原文地址:https://www.cnblogs.com/sy_test/p/12653125.html
Copyright © 2011-2022 走看看