簡體   English   中英

Appium 無法在具有多個活動的 Android 模擬器上啟動

[英]Appium fails to launch on Android emulator with multiple activities

我在用着

  • Appium v​​1.22.2
  • IntelliJ 社區
  • 帶有依賴項的 Gradle
    實施 'io.appium:java-client:7.6.0' testImplementation 'junit:junit:4.13.1' 實施 'org.assertj:assertj-core:3.22.0'

您能幫我在 Android 模擬器上通過 Appium 啟動一個具有多個活動的應用程序嗎?

我無法理解 App_Wait_Activity的概念,並試圖找到最合適的活動。 在查看 Appium 日志時,它說 appium 找到了最佳匹配,即presentation.onboarding.OnboardActivity 當我選擇此活動時,應用程序啟動並退出,並且出現錯誤。 (請參閱下面的錯誤日志)

我還檢查了 Android Studio 上的 AndroidManifest.xml 並且從上到下有多個活動:

  1. android:name=".presentation.splash.StartActivity"
  2. android:name=".presentation.onboarding.OnboardActivity"
  3. android:name=".presentation.splash.SplashActivity"
  4. android:name=".MainActivity"
  5. android:name=".presentation.custom_view.widgets.WidgetsActivity"

選擇App_activity 作為 .presentation.onboarding.OnboardActivity的錯誤日志。

https://res.cloudinary.com/newslettergs/image/upload/v1657776487/Screen_Shot_2022-07-14_at_11.25.13_diutcy.png

    org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Cannot start the 'app_package_name' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command '/Users/baizhan/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 shell am start -W -n app_package_name/app_package_name.presentation.onboarding.OnboardActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 255'; Command output: Security exception: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=app_package_name/.presentation.onboarding.OnboardActivity } from null (pid=10838, uid=2000) not exported from uid 10151

java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=app_package_name/.presentation.onboarding.OnboardActivity } from null (pid=10838, uid=2000) not exported from uid 10151
    at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1043)
    at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:760)
    at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:583)
    at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1288)
    at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:514)
    at com.android.server.wm.ActivityTaskManagerService.startActivityAndWait(ActivityTaskManagerService.java:1231)
    at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:3512)
    at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:513)
    at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:172)
    at android.os.ShellCommand.exec(ShellCommand.java:104)
    at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:9774)
    at android.os.Binder.shellCommand(Binder.java:881)
    at android.os.Binder.onTransact(Binder.java:765)
    at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:4498)
    at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2741)
    at android.os.Binder.execTransactInternal(Binder.java:1021)
    at android.os.Binder.execTransact(Binder.java:994)

我無法在您的功能中看到automationName 您可以按照指南進行操作。

你也可以按照這個來設置你的appActivityappWaitActivity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM