Add pytest test case for flomo-ai config and start page verification
This commit is contained in:
BIN
mumu-pytest/config.png
Normal file
BIN
mumu-pytest/config.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
mumu-pytest/config_interface.png
Normal file
BIN
mumu-pytest/config_interface.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.6 KiB |
BIN
mumu-pytest/start_page.png
Normal file
BIN
mumu-pytest/start_page.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 891 B |
117
mumu-pytest/test_flomo_ai_config_and_start.py
Normal file
117
mumu-pytest/test_flomo_ai_config_and_start.py
Normal file
@@ -0,0 +1,117 @@
|
||||
"""
|
||||
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 配置和启动页面测试通过!")
|
||||
Reference in New Issue
Block a user