64 lines
1.8 KiB
Python
64 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Gallery Test - Test clicking thumbnail to view full image
|
|
"""
|
|
from airtest.core.api import *
|
|
from PIL import Image
|
|
import numpy as np
|
|
|
|
def init_device():
|
|
dev = connect_device("android://127.0.0.1:5037/emulator-5554")
|
|
print(f"Device connected")
|
|
return dev
|
|
|
|
def capture_screen(filename="screen.png"):
|
|
screen = device().snapshot()
|
|
img = Image.fromarray(screen)
|
|
img.save(filename)
|
|
print(f"Screenshot: {filename}")
|
|
return screen
|
|
|
|
def calculate_similarity(img1_path, img2_path):
|
|
img1 = np.array(Image.open(img1_path))
|
|
img2 = np.array(Image.open(img2_path))
|
|
diff = np.abs(img1.astype(float) - img2.astype(float)).mean()
|
|
return diff
|
|
|
|
print("=" * 50)
|
|
print("Gallery Test - Click Thumbnail to View Full Image")
|
|
print("=" * 50)
|
|
|
|
init_device()
|
|
sleep(2)
|
|
|
|
# Step 1: Open Gallery app
|
|
print("Step 1: Open Gallery app")
|
|
touch([270, 2300]) # Gallery tab
|
|
sleep(3)
|
|
capture_screen("gallery_home.png")
|
|
|
|
# Step 2: Verify thumbnails are displayed
|
|
print("Step 2: Verify thumbnails are displayed")
|
|
thumbnails_visible = exists(Template(r"tpl_thumbnail.png"))
|
|
print(f"Thumbnails visible: {thumbnails_visible}")
|
|
|
|
# Step 3: Click on a thumbnail to view full image
|
|
print("Step 3: Click on first thumbnail")
|
|
touch([540, 600]) # First thumbnail position
|
|
sleep(2)
|
|
capture_screen("full_image.png")
|
|
|
|
# Step 4: Verify full image viewer opened
|
|
print("Step 4: Verify full image viewer opened")
|
|
diff = calculate_similarity("gallery_home.png", "full_image.png")
|
|
print(f"Screen difference: {diff:.2f}")
|
|
|
|
# Step 5: Test result
|
|
print("=" * 50)
|
|
if diff > 50:
|
|
print("PASS: Clicking thumbnail opens full image viewer")
|
|
else:
|
|
print("FAIL: Clicking thumbnail does NOT open full image")
|
|
print(" (This is a BUG - thumbnail click is not working)")
|
|
print("=" * 50)
|