Я сейчас учусь пользоваться Appium.
Моя рабочая область выглядит следующим образом:
- Я использую Windows 10 Pro
- Android Studio 3.6.1 в качестве моей IDE
- AVD-менеджер от Android Studio
- Adb as a Bridge
- Desktop-Appium 1.15
- И Java jdk-14
Через некоторое время у меня все заработало. Я думаю, что мои переменные PATH установлены правильно, я могу вызвать Java и adb в cmd.
Итак, я хотел запустить несколько тестовых случаев, где я хочу автоматизировать вход в систему почтового приложения.
Здесь я сталкиваюсь с ошибкой.
#
# Log Appium Server
#
[UiAutomator2] Unable to remove port forward 'Error executing adbExec. Original error: 'Command 'C:\\Users\\Yggdrasil\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe -P 5037 -s emulator-5554 forward --remove tcp\:8200' exited with code 1'; Stderr: 'adb.exe: error: listener 'tcp:8200' not found'; Code: '1''
[UiAutomator2] Restoring hidden api policy to the device default configuration
[ADB] Running 'C:\Users\Yggdrasil\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 shell settings delete global hidden_api_policy_pre_p_apps'
[ADB] Running 'C:\Users\Yggdrasil\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 shell settings delete global hidden_api_policy_p_apps'
[ADB] Running 'C:\Users\Yggdrasil\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 shell settings delete global hidden_api_policy'
[BaseDriver] Event 'newSessionStarted' logged at 1585093850179 (00:50:50 GMT+0100 (Mitteleuropäische Zeit))
[MJSONWP] Encountered internal error running command: Error: packageAndLaunchActivityFromManifest failed. Original error: Command 'java -jar C:\\Users\\Yggdrasil\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-adb\\jars\\appium_apk_tools.jar printLaunchActivity C:\\Users\\Yggdrasil\\Downloads\\gmx-6.5.7.apk C:\\Users\\YGGDRA~1\\AppData\\Local\\Temp\\de.gmx.mobile.android.mail' exited with code 1; StdErr: Exception in thread "main" java.lang.NoSuchFieldException: modifiers
[MJSONWP] at java.base/java.lang.Class.getDeclaredField(Class.java:2489)
[MJSONWP] at io.appium.apktools.StringsXML.silenceLogger(StringsXML.java:120)
[MJSONWP] at io.appium.apktools.Main.main(Main.java:25)
[MJSONWP]
[MJSONWP] at ADB.packageAndLaunchActivityFromManifest (C:\Users\Yggdrasil\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-adb\lib\tools\android-manifest.js:136:9)
[HTTP] <-- POST /wd/hub/session 500 1350 ms - 844
[HTTP]
[HTTP] --> DELETE /wd/hub/session
[HTTP] {}
[HTTP] No route found. Setting content type to 'text/plain'
[HTTP] <-- DELETE /wd/hub/session 404 3 ms - 57
[HTTP]
Вот требуемые возможности Appium:
{
"platformName": "Android",
"deviceName": "Android Emulator",
"appPackage": "de.gmx.mobile.android.mail",
"appWaitActivity": "com.unitedinternet.portal.ui.login.LoginActivity",
"app": "C:\\Users\\Yggdrasil\\Downloads\\gmx-6.5.7.apk"
}
Я погуглил по поводу ошибки: packageAndLaunchActivityFromManifest, но не нашел способа решить эту проблему для меня. Ударь меня, если тебе нужна дополнительная информация! Спасибо за ваше время. Я очень ценю вашу помощь!
ПРИМЕЧАНИЕ: вместо adb shell "dumpsys window windows | grep -E 'mCurrentFocus'"
мне нужно использовать adb shell "dumpsys window windows | grep -E 'mObscuringWindow'"
, чтобы получить appPackage для Требуемые возможности Appium
- Is это из новой версии adb или AVD?