""" Flomo-ai 应用配置和启动页面测试 """ import pytest import pyautogui import os import time def test_flomo_ai_config_and_start(emulator): """ 测试 flomo-ai 应用的配置和启动页面 1. 检查是否有 config.png,有就通过,没有测试失败 2. 点击 config.png 3. 检查界面是否有 start_page.png,有就通过,没有测试失败 4. 点击 start_page.png """ # 确保模拟器正在运行,如果未运行则启动 if not emulator.is_running(): print("模拟器未运行,正在启动...") emulator.start() time.sleep(10) # 等待模拟器启动完成 # 将模拟器窗口置顶 emulator.bring_to_front() time.sleep(5) # 增加等待时间,确保应用完全加载 # 将模拟器窗口置顶 emulator.bring_to_front() time.sleep(3) script_dir = os.path.dirname(__file__) # 1. 检查是否有 config.png config_image_path = os.path.join(script_dir, "config.png") if not os.path.exists(config_image_path): pytest.fail(f"config.png 图片文件不存在: {config_image_path}") print("正在查找 config.png 图片...") print(f"图片路径: {config_image_path}") print(f"图片存在: {os.path.exists(config_image_path)}") config_location = None for i in range(15): try: # 尝试不同的 confidence 值 for confidence in [0.9, 0.8, 0.7, 0.6]: config_location = pyautogui.locateOnScreen(config_image_path, confidence=confidence) if config_location: print(f"第 {i+1} 次尝试在 confidence={confidence} 时找到 config.png") break if config_location: break else: print(f"第 {i+1} 次尝试未找到 config.png") except Exception as e: print(f"第 {i+1} 次尝试出现异常: {e}") time.sleep(1) if not config_location: # 截图保存当前屏幕状态用于调试 screenshot_path = os.path.join(script_dir, "debug_config_not_found.png") pyautogui.screenshot(screenshot_path) print(f"未找到 config.png,已保存调试截图: {screenshot_path}") pytest.fail("未找到 config.png 图片") print(f"找到 config.png,位置: {config_location}") # 2. 点击 config.png center = pyautogui.center(config_location) pyautogui.click(center) print(f"已点击 config.png,位置: {center}") time.sleep(3) # 等待配置页面加载 # 3. 检查界面是否有 start_page.png start_page_image_path = os.path.join(script_dir, "start_page.png") if not os.path.exists(start_page_image_path): pytest.fail(f"start_page.png 图片文件不存在: {start_page_image_path}") print("正在查找 start_page.png 图片...") print(f"图片路径: {start_page_image_path}") start_page_location = None for i in range(15): try: start_page_location = pyautogui.locateOnScreen(start_page_image_path, confidence=0.7) if start_page_location: print(f"第 {i+1} 次尝试找到 start_page.png") break else: print(f"第 {i+1} 次尝试未找到 start_page.png") except Exception as e: print(f"第 {i+1} 次尝试出现异常: {e}") time.sleep(1) if not start_page_location: # 截图保存当前屏幕状态用于调试 screenshot_path = os.path.join(script_dir, "debug_start_page_not_found.png") pyautogui.screenshot(screenshot_path) print(f"未找到 start_page.png,已保存调试截图: {screenshot_path}") pytest.fail("未找到 start_page.png 图片") print(f"找到 start_page.png,位置: {start_page_location}") # 4. 点击 start_page.png center = pyautogui.center(start_page_location) pyautogui.click(center) print(f"已点击 start_page.png,位置: {center}") time.sleep(3) # 等待页面响应 # 验证测试成功 assert config_location is not None, "config.png 未找到,测试失败" assert start_page_location is not None, "start_page.png 未找到,测试失败" print("Flomo-ai 配置和启动页面测试通过!")