fix: 增强双微信选择器识别 (#263)
This commit is contained in:
@@ -349,6 +349,69 @@ class PddU2PurchaseReconcileAdapterTest(unittest.TestCase):
|
||||
self.assertEqual(device.app_start_calls, 0)
|
||||
self.assertEqual(device.app_current_calls, 1)
|
||||
|
||||
def test_mixed_package_chooser_with_duplicate_accessibility_values_closes(self):
|
||||
chooser_over_pdd = (
|
||||
'<hierarchy>'
|
||||
'<node package="com.xunmeng.pinduoduo" text="页面加载中" />'
|
||||
'<node package="com.xunmeng.pinduoduo" text="" />'
|
||||
'<node package="com.xunmeng.pinduoduo" text="" />'
|
||||
'<node package="android" text="选择要使用的应用" '
|
||||
'content-desc="选择要使用的应用" />'
|
||||
'<node package="com.tencent.mm" text="微信" '
|
||||
'content-desc="微信" />'
|
||||
'<node package="com.tencent.mm" text="微信 2" />'
|
||||
'</hierarchy>'
|
||||
)
|
||||
device = TransitionDevice(
|
||||
[chooser_over_pdd, xml_detail("待付款")],
|
||||
current_package="android",
|
||||
current_activity="com.android.internal.app.ChooserActivity",
|
||||
)
|
||||
clock = FakeClock()
|
||||
adapter = U2PddPurchaseReconcileAdapter(
|
||||
"serial",
|
||||
device_service=FakeDeviceService(device),
|
||||
settle_seconds=1,
|
||||
transition_timeout_seconds=30,
|
||||
monotonic=clock.monotonic,
|
||||
sleep=clock.sleep,
|
||||
)
|
||||
|
||||
adapter._open_unpaid_orders(device)
|
||||
|
||||
self.assertEqual(device.back_calls, 1)
|
||||
self.assertEqual(device.app_start_calls, 0)
|
||||
self.assertEqual(device.app_current_calls, 1)
|
||||
|
||||
def test_android_resolver_package_and_title_variant_are_supported(self):
|
||||
resolver = (
|
||||
'<hierarchy>'
|
||||
'<node package="com.android.intentresolver" '
|
||||
'text="使用以下应用打开" />'
|
||||
'<node package="com.tencent.mm" text="微信" />'
|
||||
'<node package="com.tencent.mm" text="微信分身" />'
|
||||
'</hierarchy>'
|
||||
)
|
||||
device = TransitionDevice(
|
||||
[resolver, xml_detail("待付款")],
|
||||
current_package="com.android.intentresolver",
|
||||
current_activity="com.android.intentresolver.ResolverActivity",
|
||||
)
|
||||
clock = FakeClock()
|
||||
adapter = U2PddPurchaseReconcileAdapter(
|
||||
"serial",
|
||||
device_service=FakeDeviceService(device),
|
||||
settle_seconds=1,
|
||||
transition_timeout_seconds=30,
|
||||
monotonic=clock.monotonic,
|
||||
sleep=clock.sleep,
|
||||
)
|
||||
|
||||
adapter._open_unpaid_orders(device)
|
||||
|
||||
self.assertEqual(device.back_calls, 1)
|
||||
self.assertEqual(device.app_start_calls, 0)
|
||||
|
||||
def test_android_wechat_chooser_stops_when_one_back_does_not_close_it(self):
|
||||
device = TransitionDevice(
|
||||
[xml_android_wechat_chooser(), xml_android_wechat_chooser()],
|
||||
|
||||
Reference in New Issue
Block a user