Appium '连接服务器失败。请使用 Inspector 检查它是不是正在运行
Posted
技术标签:
【中文标题】Appium \'连接服务器失败。请使用 Inspector 检查它是不是正在运行【英文标题】:Appium 'Failed to connect to the server. Please check that it is running' using InspectorAppium '连接服务器失败。请使用 Inspector 检查它是否正在运行 【发布时间】:2017-02-19 06:43:21 【问题描述】:使用Aappium的inspector需要做什么?
附上截图和日志
-
我的 appium 服务器设置为启动应用程序(已检查路径)
AVD 模拟器启动
测试脚本已启动,应用程序已成功加载到模拟器上
点击“inspector”按钮时,出现上述错误
使用命令启动 Appium 服务器:C:\Program Files (x86)\Appium\node.exe lib\server\main.js --address 127.0.0.1 --port 4723 --app C:\test\TimeWorksMobile。 apk --platform-name android --platform-version 23 --automation-name Appium --log-no-color 信息:欢迎使用 Appium v1.4.16 (REV ae6877eff263066b26328d457bd285c0cc62430d) 信息:Appium REST http 接口监听器开始于 127.0.0.1:4723 信息:[调试] 非默认服务器参数:"app":"C:\test\TimeWorksMobile.apk","address":"127.0.0.1","logNoColors":true,"platformName":"Android" ,"platformVersion":"23","automationName":"Appium" 信息:控制台日志级别:调试 info: --> POST /wd/hub/session "requiredCapabilities":,"desiredCapabilities":"platformVersion":"5.1","app":"C:\test\TimeWorksMobile.apk","deviceName ":"Android 模拟器","platformName":"Android" 信息:客户端用户代理字符串:Python-urllib/3.5 信息:[调试] 没有 appActivity 所需的功能或服务器参数。从 apk 解析。 信息:[调试] 没有 appPackage 所需的功能或服务器参数。从 apk 解析。 信息:[调试] 使用来自所需上限的本地应用程序:C:\test\TimeWorksMobile.apk 信息:[调试] 创建新的 appium 会话 2c9eecab-c67b-45e0-b97f-0faa98dfd000 信息:启动 android appium 信息:[调试] 获取 Java 版本 信息:Java 版本为:1.8.0_101 info: [debug] 检查 adb 是否存在 信息:[调试] 使用 C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe 中的 adb 信息:[调试] 从应用程序清单解析包和活动 info: [debug] 检查 aapt 是否存在 信息:[调试] 使用来自 C:\Users\mwebster\AppData\Local\Android\sdk\build-tools\24.0.2\aapt.exe 的 aapt 信息:[调试] 从清单中提取包和启动活动。 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\build-tools\24.0.2\aapt.exe 转储标记 C:\test\TimeWorksMobile.apk 信息:[调试] 徽章包:com.SwipeClock.SCeConnect 信息:[调试] 标记行为:com.SwipeClock.SCeConnect.MainActivity 信息:[调试]解析的包和活动是:com.SwipeClock.SCeConnect/com.SwipeClock.SCeConnect.MainActivity 信息:[调试] 使用快速重置?真的 信息:[调试] 为会话准备设备 info: [debug] 检查应用程序是否实际存在 信息:检索设备 信息:[调试] 尝试查找已连接的 android 设备 信息:[调试]正在连接设备... 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe 设备 信息:[调试] 1 个设备已连接 信息:找到设备模拟器-5554 信息:[调试] 将设备 ID 设置为 emulator-5554 信息:[调试] 等待设备准备好并响应 shell 命令(超时 = 5) info: [debug] 执行 cmd: C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 wait-for-device 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "echo 'ready'" 信息:[调试] 启动 logcat 捕获 信息:[调试] 获取设备 API 级别 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "getprop ro.build.version.sdk" 信息:[调试] 设备处于 API 级别 23 信息:设备 API 级别为:23 信息:[调试]为语言提取字符串:默认 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "getprop persist.sys.language" 信息:[调试] 当前设备 persist.sys.language: 信息:[调试] java -jar "C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\jars\appium_apk_tools.jar" "stringsFromApk" "C:\test\TimeWorksMobile.apk" " C:\Users\mwebster\AppData\Local\Temp\com.SwipeClock.SCeConnect" info: [debug] 从转换后的 strings.json 中读取字符串 信息:[调试]将语言设置为默认值 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 push "C:\Users\mwebster\AppData\Local\Temp\ com.SwipeClock.SCeConnect\strings.json" /data/local/tmp info: [debug] 检查 aapt 是否存在 信息:[调试] 使用来自 C:\Users\mwebster\AppData\Local\Android\sdk\build-tools\24.0.2\aapt.exe 的 aapt 信息:[调试] 从清单中检索进程。 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\build-tools\24.0.2\aapt.exe 转储 xmltree C:\test\TimeWorksMobile.apk AndroidManifest.xml 信息:[调试] 将应用进程设置为:com.SwipeClock.SCeConnect 信息:[调试] 由于服务器未使用 --full-reset 启动,因此未卸载应用程序 信息:[调试] 检查 C:\test\TimeWorksMobile.apk 的应用程序证书。 信息:[调试] 执行 cmd:java -jar "C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\jars\verify.jar" C:\test\TimeWorksMobile.apk 信息:[调试] 应用程序已签名。 信息:[调试] Zip 对齐 C:\test\TimeWorksMobile.apk info: [debug] 检查 zipalign 是否存在 信息:[调试] 使用 C:\Users\mwebster\AppData\Local\Android\sdk\build-tools\24.0.2\zipalign.exe 中的 zipalign 信息:[调试] Zip-aligning apk。 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\build-tools\24.0.2\zipalign.exe -f 4 C:\test\TimeWorksMobile.apk C:\Users\ mwebster\AppData\Local\Temp\116910-12700-dn10cl\appium.tmp 信息:[调试] 应用程序的 MD5 为 49680e5f3c45e35b7ae704bcc2859d86 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "ls /data/local/tmp/49680e5f3c45e35b7ae704bcc2859d86.apk" 信息:[调试] 获取 com.SwipeClock.SCeConnect 的安装状态 信息:[调试] 获取设备 API 级别 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "getprop ro.build.version.sdk" 信息:[调试] 设备处于 API 级别 23 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "pm list packages -3 com.SwipeClock.SCeConnect" 信息:[调试] 应用程序已安装 信息:应用程序已安装,正在重置应用程序 信息:[调试]运行快速重置(停止和清除) 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "am force-stop com.SwipeClock.SCeConnect" 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "pm clear com.SwipeClock.SCeConnect" 信息:[调试] 转发系统:4724 到设备:4724 info: [debug] 执行 cmd: C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 forward tcp:4724 tcp:4724 信息:[调试] 将 appium 引导程序推送到设备... 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 push "C:\Program Files (x86)\Appium\node_modules\ appium\build\android_bootstrap\AppiumBootstrap.jar" /data/local/tmp/ 信息:[调试] 将设置 apk 推送到设备... 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 install "C:\Program Files (x86)\Appium\node_modules\ appium\build\settings_apk\settings_apk-debug.apk" 信息:[调试]将解锁帮助应用程序推送到设备... 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 install "C:\Program Files (x86)\Appium\node_modules\ appium\build\unlock_apk\unlock_apk-debug.apk" 信息:启动应用程序 信息:[调试] 试图杀死所有“uiautomator”进程 信息:[调试]使用“uiautomator”获取所有进程 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "ps 'uiautomator'" 信息:[调试]未找到匹配的进程 信息:[调试]运行引导 信息:[调试] 生成:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap。 Bootstrap -e pkg com.SwipeClock.SCeConnect -e disableAndroidWatchers false 信息:[调试] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS:numtests = 1 信息:[调试] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS:流= 信息:[调试] [UIAUTOMATOR STDOUT] io.appium.android.bootstrap.Bootstrap: 信息:[调试] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS:id=UiAutomatorTestRunner 信息:[调试] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS:test=testRunServer 信息:[调试] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS:class=io.appium.android.bootstrap.Bootstrap 信息:[调试] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS:当前 = 1 信息:[调试] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS_CODE:1 info: [debug] [BOOTSTRAP] [debug] 在端口 4724 上打开的套接字 info: [debug] [BOOTSTRAP] [debug] Appium Socket Server Ready 信息:[调试] [BOOTSTRAP] [调试] 正在加载 json... 信息:[debug] [BOOTSTRAP] [debug] json 加载完成。 info: [debug] [BOOTSTRAP] [debug] 注册的崩溃观察者。 信息:[调试] 如果设备不活动,则唤醒设备 信息:[调试] 将命令推送到 appium 工作队列:[“wake”,] 信息:[调试] [BOOTSTRAP] [调试] 客户端已连接 信息:[debug] [BOOTSTRAP] [debug] 从客户端获取数据:"cmd":"action","action":"wake","params": info: [debug] [BOOTSTRAP] [debug] 得到了 ACTION 类型的命令 信息:[debug] [BOOTSTRAP] [debug] 得到命令动作:wake 信息:[debug] [BOOTSTRAP] [debug] 返回结果:"status":0,"value":true 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "dumpsys window" 信息:[调试] 屏幕已解锁,继续。 信息:[调试] 将命令推送到 appium 工作队列:[“getDataDir”,] info: [debug] [BOOTSTRAP] [debug] 从客户端获取数据:"cmd":"action","action":"getDataDir","params": 信息:[调试] dataDir 设置为:/data 信息:[调试]将命令推送到 appium 工作队列:[“compressedLayoutHierarchy”,“compressLayout”:false] info: [debug] [BOOTSTRAP] [debug] 得到了 ACTION 类型的命令 信息:[debug] [BOOTSTRAP] [debug] 得到命令操作:getDataDir 信息:[debug] [BOOTSTRAP] [debug] 返回结果:"status":0,"value":"/data" info: [debug] [BOOTSTRAP] [debug] 从客户端获取数据:"cmd":"action","action":"compressedLayoutHierarchy","params":"compressLayout":false info: [debug] [BOOTSTRAP] [debug] 得到了 ACTION 类型的命令 信息:[debug] [BOOTSTRAP] [debug] 得到命令操作:compressedLayoutHierarchy 信息:[调试] 获取设备 API 级别 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "getprop ro.build.version.sdk" 信息:[debug] [BOOTSTRAP] [debug] 返回结果:"status":0,"value":false 信息:[调试] 设备处于 API 级别 23 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "am start -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000 -n com.SwipeClock.SCeConnect/com.SwipeClock.SCeConnect.MainActivity" 信息:[调试] 等待 pkg "com.SwipeClock.SCeConnect" 和活动 "com.SwipeClock.SCeConnect.MainActivity" 被关注 信息:[调试] 获得重点包和活动 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "dumpsys window windows" 信息:[调试] 执行 cmd:C:\Users\mwebster\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "getprop ro.build.version.release" 信息:[调试] 设备版本为 6.0 信息:[调试] 设备启动!准备好命令 info: [debug] 将命令超时设置为默认值 60 秒 信息:[调试] Appium 会话以 sessionId 2c9eecab-c67b-45e0-b97f-0faa98dfd000 开始 信息: GET /wd/hub/session/2c9eecab-c67b-45e0-b97f-0faa98dfd000 信息:[调试]成功响应客户端:"status":0,"value":"platform":"LINUX","browserName":"Android","platformVersion":"6.0","webStorageEnabled" :false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":,"desired":"platformVersion":" 5.1","app":"C:\test\TimeWorksMobile.apk","deviceName":"Android 模拟器","platformName":"Android","app":"C:\test\TimeWorksMobile.apk" ,"deviceName":"emulator-5554","platformName":"Android","sessionId":"2c9eecab-c67b-45e0-b97f-0faa98dfd000" 信息: POST /wd/hub/session "desiredCapabilities":"app":"C:\test\TimeWorksMobile.apk","platformName":"Android" 信息:客户端用户代理字符串:未定义 错误:无法启动 Appium 会话,错误是:错误:请求了一个新会话,但一个正在进行中 信息:[调试]错误:请求一个新会话,但一个正在进行中 在 [object Object].Appium.start (C:\Program Files (x86)\Appium\node_modules\appium\lib\appium.js:139:15) 在exports.createSession (C:\Program Files (x86)\Appium\node_modules\appium\lib\server\controller.js:188:16) 在 Layer.handle [as handle_request] (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\layer.js:82:5) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:110:13) 在 Route.dispatch (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:91:3) 在 Layer.handle [as handle_request] (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\layer.js:82:5) 在 C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:267:22 在 Function.proto.process_params (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:321:12) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:261:10) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:100:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在 C:\Program Files (x86)\Appium\node_modules\appium\lib\server\controller.js:39:7 在 Layer.handle [as handle_request] (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\layer.js:82:5) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:110:13) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:104:14) 在 Route.dispatch (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\route.js:91:3) 在 Layer.handle [as handle_request] (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\layer.js:82:5) 在 C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:267:22 在 Function.proto.process_params (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:321:12) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:261:10) 在 methodOverride (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\method-override\index.js:79:5) 在 Layer.handle [as handle_request] (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\layer.js:82:5) 在 trim_prefix (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:302:13) 在 C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:270:7 在 Function.proto.process_params (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:321:12) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:261:10) 在记录器(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\morgan\index.js:136:5) 在 Layer.handle [as handle_request] (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\layer.js:82:5) 在 trim_prefix (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:302:13) 在 C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:270:7 在 Function.proto.process_params (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:321:12) 在下一个(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\express\lib\router\index.js:261:10) 在 C:\Program Files (x86)\Appium\node_modules\appium\node_modules\body-parser\lib\read.js:111:5 完成后(C:\Program Files (x86)\Appium\node_modules\appium\node_modules\body-parser\node_modules\raw-body\index.js:248:14) 在 IncomingMessage.onEnd (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\body-parser\node_modules\raw-body\index.js:294:7) 在 IncomingMessage.g (events.js:199:16) 在 IncomingMessage.emit (events.js:104:17) 在 _stream_readable.js:908:16 在 process._tickDomainCallback (node.js:381:11) 信息:[调试]响应客户端错误:“状态”:33,“值”:“消息”:“无法创建新会话。(原始错误:请求新会话但正在进行中) ","origValue":"请求了一个新会话,但一个正在进行中","sessionId":"2c9eecab-c67b-45e0-b97f-0faa98dfd000" 信息:
【问题讨论】:
^ 代码格式可能更好地显示日志 - 这将保留换行符和间距,使其更易于阅读。 【参考方案1】:Appium 内部使用 UIAutomator 来查找元素。如果您正在使用 appium 执行代码,那么您的 UIAutomator 已经在使用中,如果您尝试手动使用它,那么 appium 将失去对 UIAutomator 的控制。
【讨论】:
不确定我是否理解您的回复?我正在使用“检查器”按钮并在“检查器”启动时单击“刷新”按钮时得到这个? 另外,我是一个“新手”,后来了解到在 Windows 安装上尝试使用 Appium 的 Inspector 存在很多问题?作为一种解决方法,我正在使用 sdk uiautomateviewer?以上是关于Appium '连接服务器失败。请使用 Inspector 检查它是不是正在运行的主要内容,如果未能解决你的问题,请参考以下文章