溫馨提示×

android uiautomator2怎樣處理異步操作

小樊
106
2024-12-12 15:01:10
欄目: 編程語言

在 Android UIAutomator2 中,處理異步操作的方法是使用 UiDevice 類中的 waitFor 方法

以下是一個簡單的示例:

import time
from appium import webdriver
from appium.webdriver.common.by import By
from appium.webdriver.support.ui import WebDriverWait
from appium.webdriver.support import expected_conditions as EC

# 配置 Appium 驅動
desired_caps = {
    "platformName": "Android",
    "deviceName": "YourDeviceName",
    "appPackage": "com.example.app",
    "appActivity": "com.example.app.MainActivity",
}

driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)

# 執行異步操作,例如點擊一個按鈕
button = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "com.example.app:id/async_button"))
)
button.click()

# 等待異步操作完成,例如等待一個文本視圖更新
text_view = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "com.example.app:id/updated_text"))
)

# 獲取文本視圖的文本內容
updated_text = text_view.text
print("異步操作已完成,文本內容為:", updated_text)

# 關閉驅動
driver.quit()

在這個示例中,我們首先使用 WebDriverWait 等待異步操作完成。然后,我們獲取更新后的文本視圖并打印其內容。請注意,waitFor 方法允許你設置一個超時時間,以防異步操作無法在規定時間內完成。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女