09-appium-等待activity-Android
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09-appium-等待activity-Android相关的知识,希望对你有一定的参考价值。
目录
前言
- 在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 三种等待方式(强制等待、隐式等待、显示等待)
selenium中的三种等待方式(显示等待WebDriverWait()隐式等待implicitly()强制等待sleep())---基于python