From 4f6e140cd36b548dbfed34058d3623bced100ef2 Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Fri, 2 Jun 2023 17:44:01 +0800 Subject: [PATCH] fix: assert app activity --- hrp/pkg/uixt/video_crawler.go | 36 +++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/hrp/pkg/uixt/video_crawler.go b/hrp/pkg/uixt/video_crawler.go index b22b8aa0..24054a5d 100644 --- a/hrp/pkg/uixt/video_crawler.go +++ b/hrp/pkg/uixt/video_crawler.go @@ -183,11 +183,21 @@ var androidActivities = map[string]map[string]string{ "feed": ".splash.SplashActivity", "live": ".live.LivePlayActivity", }, + // DY lite + "com.ss.android.ugc.aweme.lite": { + "feed": ".splash.SplashActivity", + "live": ".live.LivePlayActivity", + }, // KS "com.smile.gifmaker": { "feed": "com.yxcorp.gifshow.HomeActivity", "live": "com.kuaishou.live.core.basic.activity.LiveSlideActivity", }, + // KS lite + "com.kuaishou.nebula": { + "feed": "com.yxcorp.gifshow.HomeActivity", + "live": "com.kuaishou.live.core.basic.activity.LiveSlideActivity", + }, // TODO: SPH, XHS } @@ -447,16 +457,26 @@ func (dExt *DriverExt) assertActivity(packageName, activityType string) error { fmt.Sprintf("foreground app %s, expect %s", app.PackageName, packageName)) } - var expectActivity string - if activities, ok := androidActivities[app.PackageName]; ok { - if activity, ok := activities[activityType]; ok { - if strings.HasSuffix(app.Activity, activity) { - return nil - } - expectActivity = activity - } + activities, ok := androidActivities[app.PackageName] + if !ok { + msg := fmt.Sprintf("app package %s not configured", app.PackageName) + log.Error().Interface("app", app.AppBaseInfo).Msg(msg) + return errors.Wrap(code.MobileUIActivityNotMatchError, msg) } + expectActivity, ok := activities[activityType] + if !ok { + msg := fmt.Sprintf("app package %s %s not configured", app.PackageName, activityType) + log.Error().Interface("app", app.AppBaseInfo).Msg(msg) + return errors.Wrap(code.MobileUIActivityNotMatchError, msg) + } + + // assert success + if strings.HasSuffix(app.Activity, expectActivity) { + return nil + } + + // assert failed log.Error().Interface("app", app.AppBaseInfo).Msg("app activity not match") return errors.Wrap(code.MobileUIActivityNotMatchError, fmt.Sprintf("foreground activity %s, expect %s %s",