perf: 限制商品页补采最多滑动6次 (#161)
This commit is contained in:
@@ -794,7 +794,7 @@ class PddCollectService:
|
|||||||
page_timeout: float = 30.0,
|
page_timeout: float = 30.0,
|
||||||
spec_panel_timeout: float = 10.0,
|
spec_panel_timeout: float = 10.0,
|
||||||
overall_timeout: float = 600.0,
|
overall_timeout: float = 600.0,
|
||||||
max_goods_page_swipes: int = 12,
|
max_goods_page_swipes: int = 6,
|
||||||
max_spec_swipes: int = 12,
|
max_spec_swipes: int = 12,
|
||||||
max_sku_count: int = 200,
|
max_sku_count: int = 200,
|
||||||
color_poll_interval: float = 0.1,
|
color_poll_interval: float = 0.1,
|
||||||
|
|||||||
@@ -1351,6 +1351,35 @@ class PddCollectParserTest(unittest.TestCase):
|
|||||||
self.assertTrue(device.clicks)
|
self.assertTrue(device.clicks)
|
||||||
self.assertEqual(device.swipe_panel_states[:2], [False, False])
|
self.assertEqual(device.swipe_panel_states[:2], [False, False])
|
||||||
|
|
||||||
|
def test_goods_metadata_default_swipe_limit_is_six(self):
|
||||||
|
pages = [
|
||||||
|
f"""<hierarchy>
|
||||||
|
<node class="androidx.viewpager.widget.ViewPager"
|
||||||
|
content-desc="测试商品标题第{index}屏内容"
|
||||||
|
bounds="[0,100][1080,500]" />
|
||||||
|
<node class="android.widget.TextView" text="已拼12000件"
|
||||||
|
bounds="[30,600][300,660]" />
|
||||||
|
<node class="androidx.recyclerview.widget.RecyclerView"
|
||||||
|
scrollable="true" bounds="[0,0][1080,1800]" />
|
||||||
|
</hierarchy>"""
|
||||||
|
for index in range(7)
|
||||||
|
]
|
||||||
|
device = GoodsMetadataScrollDevice(pages, self.spec_xml)
|
||||||
|
device.opened_url = "https://mobile.yangkeduo.com/goods.html?goods_id=123"
|
||||||
|
service = PddCollectService(
|
||||||
|
PddDeviceService(lambda _serial: device),
|
||||||
|
"USB-001",
|
||||||
|
"client-001",
|
||||||
|
sleeper=lambda _seconds: None,
|
||||||
|
)
|
||||||
|
|
||||||
|
result = service._collect_goods_details(device)
|
||||||
|
|
||||||
|
self.assertIsNone(result.shop_name)
|
||||||
|
self.assertIsNone(result.reviews.raw)
|
||||||
|
self.assertEqual(6, len(device.swipes))
|
||||||
|
self.assertEqual(6, device.page_index)
|
||||||
|
|
||||||
def test_cancel_during_goods_page_scroll_stops_before_spec_panel(self):
|
def test_cancel_during_goods_page_scroll_stops_before_spec_panel(self):
|
||||||
incomplete_home = self.home_xml.replace(
|
incomplete_home = self.home_xml.replace(
|
||||||
'<node class="android.widget.TextView" text="2356条评价" '
|
'<node class="android.widget.TextView" text="2356条评价" '
|
||||||
|
|||||||
Reference in New Issue
Block a user