• appium---定位toast


      看到标题有些小伙伴肯定懵了,什么是toast?

    toast

    toast属于一种轻量级的反馈,常常以小弹框的形式出现,一般出现1到3秒会自动消失,可以出现在屏幕上中下任意位置。那么toast怎么进定位呢?我们先看下toast在app中是怎么显示的

    app中的toast

    我们打开淘宝,进入淘宝后,然后点击返回按钮。淘宝页面底部会出现一个弹框,这就是toast

    定位toast

    知道什么是toast了,那么怎么定位toast呢?

    定位toast有两个前置条件:

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

    2、在启动appium的参数中加入 'automationName':"uiautomator2" 

    这里返回的是text文本,安静这里选择的是文本定位

    # coding:utf-8
    from appium import webdriver
    import time
    desired_caps = {
                     'platformName': 'Android',  # 测试版本
                     'deviceName': 'emulator-5554',   # 设备名
                     'platformVersion': '5.1.1', # 系统版本
                    "appPackage": "com.taobao.taobao",   # app包名
                    "appActivity": "com.taobao.tao.welcome.Welcome",   # 启动launch Activity
                    "noReset": True,  # 不清空数据
                    "unicodeKeyboard": True,    # 使用Unicode编码方式发送字符串
                    "resetKeyboard": True,      # 键盘隐藏起来
                    'automationName':"uiautomator2"
                            }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    time.sleep(10)
    # 点击返回按钮
    driver.back()
    text = '再按一次'
    # text模糊定位
    element = driver.find_element_by_xpath('//*[contains(@text, "%s")]'%text)
    print("toast内容:%s" % element.text)
    
    
    -----------结果---------
    toast内容:再按一次返回键退出手机淘宝

    这里会发现已经成功定位到了,但是可能有时候因为网络问题,或者其他原因,导致出现了,但是却没有定位到,我们可以通过显示等待的方法,然后循环去读取元素坐标。

    安静写的只是其中的一种方法,如果有更好的方法,可以下方留言,共同学习。感谢关注

     

  • 相关阅读:
    当今世界最为经典的十大算法投票进行时
    HDU_1203 I NEED A OFFER!
    POJ_2352 Stars(树状数组)
    HDU_1231 最大连续子序列
    POJ_3264 Balanced Lineup(线段树练手题)
    【转】休息几分种,学几个bash快捷键
    HDU_1013 Digital Roots
    HDU_1381 Crazy Search
    POJ_2528 Mayor's posters(线段树+离散化)
    zoj_1610 Count tht Color
  • 原文地址:https://www.cnblogs.com/qican/p/12616024.html
Copyright © 2020-2023  润新知