fix: 修复 PDD 页面误判与失败回执 (#35)
This commit is contained in:
@@ -3,13 +3,57 @@
|
||||
from pathlib import Path
|
||||
import unittest
|
||||
|
||||
from src.pdd_collect_service import parse_goods_page, parse_spec_panel
|
||||
from src.pdd_collect_service import (
|
||||
PddCollectService,
|
||||
parse_goods_page,
|
||||
parse_spec_panel,
|
||||
)
|
||||
from src.pdd_device_service import PddDeviceService
|
||||
|
||||
|
||||
REAL_XML = Path(__file__).parents[1] / "image_xml"
|
||||
|
||||
|
||||
class SettingsFocusedRealPage:
|
||||
"""复现真机:焦点 API 是无线设置,控件树实际是 PDD。"""
|
||||
|
||||
def __init__(self, xml_data):
|
||||
self.xml_data = xml_data
|
||||
|
||||
def app_current(self):
|
||||
return {"package": "com.oplus.wirelesssettings"}
|
||||
|
||||
def app_start(self, _package):
|
||||
return None
|
||||
|
||||
def app_wait(self, _package, timeout=10):
|
||||
return 1
|
||||
|
||||
def open_url(self, _url):
|
||||
return None
|
||||
|
||||
def dump_hierarchy(self):
|
||||
return self.xml_data
|
||||
|
||||
|
||||
class PddRealXmlFixtureTest(unittest.TestCase):
|
||||
def test_real_pdd_page_is_ready_when_focus_api_reports_settings(self):
|
||||
xml_data = (REAL_XML / "737116531267_home.xml").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
device = SettingsFocusedRealPage(xml_data)
|
||||
service = PddCollectService(
|
||||
PddDeviceService(lambda _serial: device),
|
||||
"USB-001",
|
||||
"client-001",
|
||||
sleeper=lambda _seconds: None,
|
||||
)
|
||||
|
||||
service._open_goods(
|
||||
device,
|
||||
"https://mobile.yangkeduo.com/goods.html?goods_id=737116531267",
|
||||
)
|
||||
|
||||
def test_split_title_is_joined_from_real_goods_page(self):
|
||||
result = parse_goods_page(
|
||||
(REAL_XML / "737116531267_home.xml").read_text(encoding="utf-8")
|
||||
|
||||
Reference in New Issue
Block a user