09-appium-等待activity-Android

Posted 爱学习de测试小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

 

以上是关于09-appium-等待activity-Android的主要内容,如果未能解决你的问题,请参考以下文章

Selenium 三种等待方式(强制等待、隐式等待、显示等待)

2018-09-21显示等待、隐式等待和强制等待的区别

selenium强制等待,隐式等待,显式等待

selenium中的显示等待,隐示等待,强制等待

sql server等待类型

selenium中的三种等待方式(显示等待WebDriverWait()隐式等待implicitly()强制等待sleep())---基于python