10-appium-toast定位

目录

前言

toast样式

示例代码

封装toast定位判断


前言

  • toast需要appium1.6.3以上版本才支持

toast样式

示例代码

# -*- coding: utf-8 -*-
# @Time    : 2021/5/1
# @Author  : 大海
import time
from appium import webdriver

desired_capabilities = {
    "platformName": "Android",  
    "deviceName": "127.0.0.1:62001",  
    "platformVersion": "7.1.2",
    "appPackage": "com.jingdong.app.mall",
    "appActivity": ".main.MainActivity"

}

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_capabilities)
driver.implicitly_wait(10)

flag = driver.wait_activity('.main.MainActivity', 10)
print(flag)

# 点击同意
driver.find_element_by_id('com.jingdong.app.mall:id/bqd').click()

time.sleep(5)
# 返回
driver.back()

text = driver.find_element_by_xpath("//*[contains(@text,'再次返回退出京东')]").text
print(text)

封装toast定位判断

# -*- coding: utf-8 -*-
# @Time    : 2021/5/1
# @Author  : 大海

import time
from appium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

desired_capabilities = {
    "platformName": "Android", 
    "deviceName": "127.0.0.1:62001",  
    "platformVersion": "7.1.2",
    "appPackage": "com.jingdong.app.mall",
    "appActivity": ".main.MainActivity"

}


def is_toast_exist(driver, text, timeout=30, interval=0.5):
    """
    :param driver: 驱动
    :param text: toast文案
    :param timeout: 超时时长,单位s
    :param interval: 刷新间隔时长,单位s
    :return: True/False
    """
    try:
        toast_loc = ("xpath", f".//*[contains(@text,'{text}')]")
        WebDriverWait(driver, timeout, interval).until(EC.presence_of_element_located(toast_loc))
        return True
    except Exception as e:
        print(e)
        return False


if __name__ == '__main__':
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_capabilities)
    driver.implicitly_wait(10)
    # 等待Activity
    flag = driver.wait_activity('.main.MainActivity', 10)
    print(flag)
    # 点击同意
    driver.find_element_by_id('com.jingdong.app.mall:id/bqd').click()
    time.sleep(5)
    # 返回
    driver.back()

    text = '再次返回退出京东'
    if is_toast_exist(driver, text):
        toast_text = driver.find_element_by_xpath(f"//*[contains(@text,'{text}')]").text
        print("toast_text:", toast_text)
    else:
        print('未定位到toast')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值