09-appium-等待activity-Android

目录

前言

wait_activity方法介绍

wait_activity方法使用


前言

  • 在Android端app自动化过程中,可以等待某个页面activity出现后操作,避免使用固定的等待时间,可有效节省时间。

wait_activity方法介绍

    def wait_activity(self: T, activity: str, timeout: int, interval: int = 1) -> bool:
        """等待一个活动:阻塞直到目标活动出现或超时.

        这是一个android专属的方法.

        Args:
            activity: 等待的页面activity
            timeout: 最大等待时间,单位为秒
            interval: 重试间隔时间,单位为秒

        Returns:
            如果显示了目标activity,则为True
        """
        try:
            WebDriverWait(self, timeout, interval).until(lambda d: d.current_activity == activity)
            return True
        except TimeoutException:
            return False

wait_activity方法使用

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

desired_capabilities = {
    "platformName": "Android", 
    "deviceName": "127.0.0.1:62001",  # adb devices 查看,这里使用的是夜神模拟器
    "platformVersion": "7.1.2",
    "appPackage": "com.jingdong.app.mall",  # 京东app
    "appActivity": ".main.MainActivity"

}

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

# 打印当前的activity
print(driver.current_activity)
# 打印当前的包名
print(driver.current_package)
# 等待activity,超时时长为10s
flag = driver.wait_activity('.main.MainActivity', 10)
print(flag)
# 点击同意
driver.find_element_by_id('com.jingdong.app.mall:id/bqd').click()
# 点击家具厨具
driver.find_element_by_id('com.jingdong.app.mall:id/ic').click()

# driver.quit()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱学习de测试小白

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

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

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

打赏作者

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

抵扣说明:

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

余额充值