fix(t210): recognize current Pinduoduo result pages

This commit is contained in:
QiuSW
2026-07-27 17:30:24 +08:00
parent 6d70eee0af
commit 30841f8827
6 changed files with 223 additions and 14 deletions
@@ -49,6 +49,59 @@ class PinduoduoPageClassifierTest {
assertEquals(PinduoduoPage.SEARCH_RESULTS, snapshot.page)
}
@Test
fun `modern 817 result layout identifies search results`() {
val snapshot = classify(
element(
text = SEARCH_PROBE_KEYWORD,
contentDescription = "搜索"
),
element(className = "android.widget.HorizontalScrollView"),
element(text = "推荐"),
element(text = "手机"),
element(text = "女装"),
element(text = "百货")
)
assertEquals(PinduoduoPage.SEARCH_RESULTS, snapshot.page)
}
@Test
fun `elided result query identifies long submitted search`() {
val submittedQuery =
"現貨+預購 有口袋直筒褲 長褲 褲子 高腰直筒褲 春夏秋長褲 高腰寬褲 黑色長褲 " +
"高腰長褲 顯瘦西裝褲 遮肚女裝 冰絲褲 直筒褲(夏季薄款有口袋),9XL【建議130-150公斤】(預購)"
val snapshot = PinduoduoPageClassifier.classify(
foregroundPackage = PINDUODUO_PACKAGE,
elements = listOf(
element(
text = "現貨+預購 有…斤】(預購)",
contentDescription = "搜索"
),
element(className = "android.widget.HorizontalScrollView"),
element(text = "推荐"),
element(text = "手机"),
element(text = "女装")
),
expectedQuery = submittedQuery
)
assertEquals(PinduoduoPage.SEARCH_RESULTS, snapshot.page)
}
@Test
fun `modern result layout with another query remains distinct`() {
val snapshot = classify(
element(text = "直筒裤有口袋女", contentDescription = "搜索"),
element(className = "android.widget.HorizontalScrollView"),
element(text = "推荐"),
element(text = "手机"),
element(text = "女装")
)
assertEquals(PinduoduoPage.SEARCH_RESULTS_OTHER_QUERY, snapshot.page)
}
@Test
fun `login verification and risk markers remain distinct`() {
assertEquals(