我目前正在学习如何使用Appium。
我的工作区如下所示:
过了一段时间后,我把所有的事情都做好了。我认为我的路径变量设置正确,我可以在cmd中调用Java和亚行。
所以我想要开始一些测试用例,在那里我想自动登录一个邮件应用程序。
这里我遇到了错误。
#
# 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"
}我在googled上搜索了错误: packageAndLaunchActivityFromManifest,但是我没有找到解决这个问题的方法。如果你需要更多的信息,给我打电话!谢谢您抽时间见我。我非常感谢你的帮助!
注意:与adb shell "dumpsys window windows | grep -E 'mCurrentFocus'"不同,我必须使用adb shell "dumpsys window windows | grep -E 'mObscuringWindow'"来获取appPackage for Appium所需的能力
发布于 2020-04-05 11:00:25
我发现了错误。
显然,Appium和AndroidStudio3.6并不是很好地结合在一起。
Appium正在使用SDK工具,您必须编辑到可行的路径。但是AndroidStudio3.6正在使用一个新版本的SDK工具,所以Appium无法正确地找到它们。
我在AppiumDoctor身上发现了这个错误。
在将Android降级到3.3版之后,所有功能都正常工作。
https://stackoverflow.com/questions/60841728
复制相似问题