使用以下命令启动Appium服务器:C:\ Program Files(x86)\ Appium \ node.exe lib \ server \ main.js --address 127.0.0.1 --port 4723 --platform-name Android --platform-版本23 --automation-name Appium --log-no-color info:欢迎来到Appium v1.4.16(REV ae6877eff263066b26328d457bd285c0cc62430d) info:Appium REST http接口监听器在127.0.0.1:4723上启动 info:[debug]非默认服务器args:{"地址":" 127.0.0.1"," logNoColors":true," platformName&# 34;:" Android和#34;" platformVersion":" 23"" automationName":" Appium"} info:Console LogLevel:debug 信息: - > POST / wd / hub / session {" desiredCapabilities":{" appPackage":" com.Honkampkrueger.hk"," appActivity":& #34; .MainActivity""应用":" C:\用户\ kuldeep.sahu \工作空间\ AppiumIntro \ SRC \ honkamp.apk"" browserName&# 34;:""," platformName":" Android"," deviceName":" Android模拟器",& #34;版本":" 4.4.2"}} info:客户端用户代理字符串:Apache-HttpClient / 4.5.1(Java / 1.8.0_71) info:[debug]提供了以下所需功能,但appium无法识别。它们将被传递给在此服务器上运行的任何其他服务。 :版本 info:[debug]使用所需大写的本地应用程序:C:\ Users \ kuldeep.sahu \ workspace \ AppiumIntro \ Src \ honkamp.apk info:[debug]创建新的appium会话f2eb01fe-7b8c-4e7c-89c6-5d776471a569 info:启动android appium info:[debug]获取Java版本 info:Java版本是:1.8.0_71 info:[debug]检查adb是否存在 info:[debug]使用来自C:\ Program Files \ SDK \ platform-tools \ adb.exe的adb info:[debug]使用快速重置?真正 info:[debug]准备会话设备 info:[debug]检查app是否确实存在 info:检索设备 info:[debug]试图找到一个连接的Android设备 info:[debug]获取连接设备... info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe"设备 info:[debug] 1个设备已连接 info:找到设备模拟器-5554 info:[debug]将设备ID设置为emulator-5554 info:[debug]等待设备准备就绪并响应shell命令(timeout = 5) info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554等待设备 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" echo' ready'" info:[debug]启动logcat捕获 info:[debug]获取设备API级别 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" getprop ro.build.version.sdk" info:[debug]设备处于API级别19 info:设备API级别为:19 info:[debug]为语言提取字符串:default info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" getprop persist.sys.language" info:[debug]当前设备persist.sys.language:en info:[debug] java -jar" C:\ Program Files(x86)\ Appium \ node_modules \ appium \ node_modules \ appium-adb \ _jars \ appium_apk_tools.jar" " stringsFromApk" " C:\用户\ kuldeep.sahu \工作空间\ AppiumIntro \ SRC \ honkamp.apk" " C:\用户\ KULDEE〜1.SAH \应用程序数据\本地\ TEMP \ com.Honkampkrueger.hk"恩 info:[debug]没有strings.xml用于语言' en',获取默认的strings.xml info:[debug] java -jar" C:\ Program Files(x86)\ Appium \ node_modules \ appium \ node_modules \ appium-adb \ _jars \ appium_apk_tools.jar" " stringsFromApk" " C:\用户\ kuldeep.sahu \工作空间\ AppiumIntro \ SRC \ honkamp.apk" " C:\用户\ KULDEE〜1.SAH \应用程序数据\本地\ TEMP \ com.Honkampkrueger.hk" info:[debug]从转换的strings.json中读取字符串 info:[debug]将语言设置为默认值 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 push" C:\ Users \ KULDEE~1.SAH \ AppData \ Local \ Temp \ com.Honkampkrueger.hk \ strings.json" /数据/本地/ tmp目录 info:[debug]检查aapt是否存在 info:[debug]使用来自C:\ Program Files \ SDK \ build-tools \ 23.0.2 \ aapt.exe的aapt info:[debug]从清单中检索进程。 info:[debug]执行cmd:" C:\ Program Files \ SDK \ build-tools \ 23.0.2 \ aapt.exe" dump xmltree C:\ Users \ kuldeep.sahu \ workspace \ AppiumIntro \ Src \ honkamp.apk AndroidManifest.xml info:[debug]将应用程序进程设置为:com.Honkampkrueger.hk info:[debug]不卸载应用程序,因为服务器未启动--full-reset info:[debug]检查C:\ Users \ kuldeep.sahu \ workspace \ AppiumIntro \ Src \ honkamp.apk的应用程序证书。 info:[debug]执行cmd:java -jar" C:\ Program Files(x86)\ Appium \ node_modules \ appium \ node_modules \ appium-adb \ jars \ verify.jar" C:\ Users \用户kuldeep.sahu \工作空间\ AppiumIntro \ SRC \ honkamp.apk info:[debug]应用程序已签名。 info:[debug] Zip-aligning C:\ Users \ kuldeep.sahu \ workspace \ AppiumIntro \ Src \ honkamp.apk info:[debug]检查zipalign是否存在 info:[debug]在C:\ Program Files \ SDK \ build-tools \ 23.0.2 \ zipalign.exe中使用zipalign info:[debug] Zip-aligning apk。 info:[debug]执行cmd:" C:\ Program Files \ SDK \ build-tools \ 23.0.2 \ zipalign.exe" -f 4 C:\ Users \ kuldeep.sahu \ workspace \ AppiumIntro \ Src \ honkamp.apk C:\ Users \ KULDEE~1.SAH \ AppData \ Local \ Temp \ 11615-3480-14zot2k \ appium.tmp info:[debug] app的MD5是91f72bc7e64a758cdb9d0b8414bd853c info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" ls /data/local/tmp/91f72bc7e64a758cdb9d0b8414bd853c.apk" info:[debug]获取com.Honkampkrueger.hk的安装状态 info:[debug]获取设备API级别 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" getprop ro.build.version.sdk" info:[debug]设备处于API级别19 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" pm list packages -3 com.Honkampkrueger.hk" info:[debug]未安装App 信息:安装应用程序 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" mkdir -p / data / local / tmp /" info:[debug]删除任何旧的apks info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" ls /data/local/tmp/*.apk" info:[debug]在/data/local/tmp/91f72bc7e64a758cdb9d0b8414bd853c.apk找到一个想要保存的apk info:[debug]无法找到要删除的apks info:[debug]卸载com.Honkampkrueger.hk info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" am force-stop com.Honkampkrueger.hk" info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554卸载com.Honkampkrueger.hk 信息:[调试]应用程序没有卸载,也许它不在设备上? info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" pm install -r /data/local/tmp/91f72bc7e64a758cdb9d0b8414bd853c.apk" info:[debug]转发系统:4724到设备:4724 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 forward tcp:4724 tcp:4724 info:[debug]将appium bootstrap推送到设备... info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 push" C:\ Program Files(x86)\ Appium \ node_modules \ appium \ build \ android_bootstrap \ AppiumBootstrap.jar" /数据/本地的/ tmp / info:[debug]将设置apk推送到设备... info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554安装" C:\ Program Files(x86)\ Appium \ node_modules \ appium \ build \ settings_apk \ settings_apk-debug.apk" info:[debug]将解锁帮助应用程序推送到设备... info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554安装" C:\ Program Files(x86)\ Appium \ node_modules \ appium \ build \ unlock_apk \ unlock_apk-debug.apk" 信息:启动应用程序 info:[debug]试图杀死所有' uiautomator'流程 info:[debug]使用' uiautomator'获取所有流程 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" ps' uiautomator'" info:[debug]找不到匹配的进程 info:[debug]运行bootstrap info:[debug]产生:C:\ Program Files \ SDK \ platform-tools \ adb.exe -s emulator-5554 shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap -e pkg com.Honkampkrueger .hk -e disableAndroidWatchers false info:[debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_RESULT:shortMsg = java.lang.NullPointerException info:[debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_RESULT:longMsg = null info:[debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_CODE:0 info:[debug] UiAutomator退出 info:[debug]执行cmd:" C:\ Program Files \ SDK \ platform-tools \ adb.exe" -s emulator-5554 shell" echo' ping'" info:[debug]试图卸载应用程序 info:[debug]不卸载应用程序,因为服务器未启动--full-reset info:[debug]清理android对象 info:[debug]清理appium会话 错误:UiAutomator在成功启动之前退出 错误:无法启动Appium会话,错误是:错误:UiAutomator在成功启动之前退出 info:[debug]错误:UiAutomator在成功启动之前退出 在[object Object]。 (C:\ Program Files(x86)\ Appium \ node_modules \ appium \ lib \ devices \ android \ android.js:205:23) 在[object Object]。 (C:\ Program Files(x86)\ Appium \ node_modules \ appium \ lib \ devices \ android \ android-hybrid.js:249:5) at Object.async.eachSeries(C:\ Program Files(x86)\ Appium \ node_modules \ appium \ node_modules \ async \ lib \ async.js:142:20) at [object Object] .androidHybrid.stopChromedriverProxies(C:\ Program Files(x86)\ Appium \ node_modules \ appium \ lib \ devices \ android \ android-hybrid.js:233:9) 在[object Object]。 (C:\ Program Files(x86)\ Appium \ node_modules \ appium \ lib \ devices \ android \ android.js:200:10) 在[object Object]。 (C:\ Program Files(x86)\ Appium \ node_modules \ appium \ lib \ devices \ android \ android.js:222:9) at [object Object] .androidCommon.uninstallApp(C:\ Program Files(x86)\ Appium \ node_modules \ appium \ lib \ devices \ android \ android-common.js:478:5) 在[object Object]。 (C:\ Program Files(x86)\ Appium \ node_modules \ appium \ lib \ devices \ android \ android.js:220:12) 在[object Object]。 (C:\ Program Files(x86)\ Appium \ node_modules \ appium \ lib \ devices \ android \ android.js:229:11) 在C:\ Program Files(x86)\ Appium \ node_modules \ appium \ node_modules \ appium-adb \ lib \ adb.js:901:7 在[object Object]。 (C:\ Program Files(x86)\ Appium \ node_modules \ appium \ node_modules \ appium-adb \ lib \ adb.js:180:9) 在ChildProcess.exithandler(child_process.js:742:7) 在ChildProcess.emit(events.js:110:17) 在maybeClose(child_process.js:1016:16) 在Process.ChildProcess._handle.onexit(child_process.js:1088:5) info:[debug]响应客户错误:{" status":33," value":{" message":"新会话可以不被创造。 (原始错误:UiAutomator在成功启动之前退出)"," origValue":" UiAutomator在成功启动之前退出"}," sessionId":null } info:< - POST / wd / hub / session 500 46111.400 ms - 218
错误:线程" main"中的异常org.openqa.selenium.SessionNotCreatedException:无法创建新会话。 (原始错误:UiAutomator在成功启动之前退出)(警告:服务器未提供任何堆栈跟踪信息)。
任何人都有此解决方案,因为我的正在运行的模拟器启动非常慢。
答案 0 :(得分:1)
UiAutomator在成功启动错误之前退出:失败 开始一个Appium会话,错误是:错误:UiAutomator在它之前退出 成功启动信息:[debug]错误:UiAutomator退出之前 在[object Object]成功启动。 (C:\ Program Files (86)\ Appium \ node_modules \ appium \ lib中\设备\机器人\ android.js:205:23) 在[object Object]。
这表明由于没有创建Appium会话,UIAutomator没有启动。您的IDE上的[SessionNotCreatedException
]
重新启动adb服务器和appium服务应该会帮助你。
在此之前,您还可以尝试使用shell运行UIAutomator,以验证它是否可以正常运行。
答案 1 :(得分:0)
如果你使用Appium 1.4 +版本来自动化android(7.0 / N / Nougat)版本,这个问题仍然存在。您必须进行一些更改才能使其正常工作。
我们有一个类似的问题,当我们开始使用appium,android studio和selenium webdriver自动化一个简单的移动应用程序,经过这么多搜索并查看各种appium支持票据后,我们发现它是一个bug,他们有给予替代修复并继续。
您必须在以下文件中的几个地方更改代码: C:\ Program Files(x86)\ Appium \ node_modules \ appium \ node_modules \ appium-adb \ lib \ adb.js
这些详细信息已在下面的文章中列出: http://www.testingtools.co/appium/error-command-failed-adb-exe-s-emulator-5554-shell-ps-uiautomator
希望它对您有所帮助,如果您有任何疑问,您也可以以评论的形式将其发布在博客文章中。
答案 2 :(得分:0)
您无法并行运行UIAutomator和Appium服务器,这是已知问题。在运行UIAutomator之前,请确保您的Appium服务器已停止,然后再试一次。这应该有用。