zoukankan      html  css  js  c++  java
  • Appium之定位toast元素

    Toast

    toast属于一种轻量级的反馈,常常以小弹框的形式出现,一般出现1到2秒会自动消失,可以出现在屏幕上中下任意位置,但同个产品会模块尽量使用同一位置,让用户产生统一认知。

    在样式上,尽量和产品整体风格保持一致,这样会更和谐,不至于突兀。

    定位toast有两个前置条件:

    1、appium-server 必须是1.7以上的版本才可以。

    2、在appium的desired_caps配置中加入参数:

    'automationName': 'uiautomator2'

    脚本源码:

    from appium import webdriver
    from time import sleep
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    desired_caps = {
        'autoLaunch': 'True',
        'deviceName': 'honor10',
        'platformName': 'Android',
        'platformVersion': '10.0',
        'appPackage': "com.taobao.taobao",
        'appActivity': "com.taobao.tao.welcome.Welcome",
        'noReset': 'True',
        'automationName': 'uiautomator2',
    }
    
    driver = webdriver.Remote('127.0.0.1:4723/wd/hub', desired_caps)
    sleep(5)
    # driver.wait_activity(".activity.HomeActivity", 10)
    driver.back()
    toast_loc = ("xpath", "//*[contains(@text,'再按一次返回键退出手机淘宝.')]")
    ele = WebDriverWait(driver, 10, 0.5).until(EC.presence_of_element_located(toast_loc))
    # ele = driver.find_element(by="xpath", value="//*[contains(@text, '再按一次返回键退出手机淘宝.')]")
    print(ele)
    print(ele.text)


    运行结果:
    <appium.webdriver.webelement.WebElement (session="7130c2ac-75c1-49c5-96bd-48d70c74b35c", element="f1cd2802-40d4-4493-a270-d6febcd8d3be")>
    再按一次返回键退出手机淘宝

    关于Toast的介绍:http://www.woshipm.com/pd/603334.html

    参考:https://www.cnblogs.com/qican/p/12616024.html

  • 相关阅读:
    容器源码分析之——ArrayList
    JVM详解(四)--运行时数据区:程序计数器(PC 寄存器)
    JVM详解(三)-- 运行时数据区:概述和线程
    JVM详解(二)-- 第2章 类加载器子系统
    vue组件传入样式参数
    vue重定向父路径无法向子路径传递参数
    cpp引用内部的元素指针变化问题
    无法获取vuex中对象的属性
    前端笔记收藏
    vue组件传参
  • 原文地址:https://www.cnblogs.com/Maruying/p/13622738.html
Copyright © 2011-2022 走看看