Appium 无法启动

Posted

技术标签:

【中文标题】Appium 无法启动【英文标题】:Appium will not start 【发布时间】:2016-06-18 15:17:13 【问题描述】:

我更改了我的配置,尝试一次运行两个 appium 会话,这样我就可以检查并在并行端口上运行自动化。不知何故,我打破了 appium 检查器上的 avd 启动。我试图恢复一切,杀死所有会话,停止 appium 的所有命令行实例,但问题仍然存在。

完整的错误信息:

错误:无法启动 Appium 会话,错误是:错误:您必须 传入“app”或“browserName”上限

info: [debug] Error: You must pass in the 'app' or 'browserName' 上限 在 e (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/capabilities.js:171:34) 在 [object Object].Capabilities.checkStrictValidity (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/capabilities.js:188:12) 在 [object Object].Capabilities.checkValidity (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/capabilities.js:140:10) 在 [object Object].Appium.configure (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/appium.js:238:35) 在 [对象对象]。 (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/appium.js:118:10) 在 [object Object].Appium.start (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/appium.js:129:5) 在exports.createSession (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/controller.js:188:16) 在 Layer.handle [as handle_request] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/layer.js:82:5) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:110:13) 在 Route.dispatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:91:3) 在 Layer.handle [as handle_request] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/layer.js:82:5) 在 /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:267:22 在 Function.proto.process_params (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:321:12) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:261:10) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:100:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在 /Applications/Appium.app/Contents/Resources/node_modules/appium/lib/server/controller.js:39:7 在 Layer.handle [as handle_request] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/layer.js:82:5) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:110:13) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:10 4:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:104:14) 在 Route.dispatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/route.js:91:3) 在 Layer.handle [as handle_request] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/layer.js:82:5) 在 /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:267:22 在 Function.proto.process_params (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:321:12) 在下一个(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:261:10) 在方法覆盖(/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/method-override/index.js:79:5) 在 Layer.handle [as handle_request] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/layer.js:82:5) 在 trim_prefix (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:302:13) 在 /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/express/lib/router/index.js:270:7 信息:[调试] 以错误响应客户端: "status":33,"value":"message":"无法创建新会话。 (原始错误:您必须传入 'app' 或 'browserName' cap)","origValue":"你必须传入 'app' 或 'browserName' cap","sessionId":null 信息:

信息:--> GET /wd/hub/status

info: [debug] 成功响应客户端: "status":0,"value":"build":"version":"1.4.13","re​​vision":"c75d8adcb66a75818a542fe1891a34260c21f76a" 信息:

警报截图:

设置:

如果需要更多信息,请告诉我。谢谢。

【问题讨论】:

hm 错误是缺少应用程序/浏览器名称,但我看到您设置了应用程序。但是,我也看到您没有设置所需的 deviceName。尝试设置它,让我知道会发生什么。 我把它取下来看看它是否能解决问题。添加它备份并得到同样的错误。 appium 是否可以访问您提到的 appPath。 【参考方案1】:

请勾选(打勾)以下选项:

android Settings -> Basic -> Package [possible cause of failure]
Android Settings -> Advanced -> SDK 

顺便说一句,这只是为了以防万一你想使用 UI 功能运行你的应用程序(也许使用 Appium 检查器独立),否则如果你使用一些 client 来设置 capabilities 会很棒请参阅您的设置代码以建议任何必要的更改。

【讨论】:

【参考方案2】:

缺少应用程序包和活动名称。需要将包和活动名称添加到所需的功能中

【讨论】:

【参考方案3】:

将您的 appium 桌面更新到最新版本。目前我使用的是 1.8.1 版本。

步骤:

    启动 appium 桌面 点击高级标签 输入服务器地址=127.0.0.1,端口=4723,勾选Allow Session Override复选框 单击启动服务器按钮。它将启动 appium 服务器 点击appium桌面应用右上角的眼镜图标。将出现一个新窗口。

    在出现的窗口中,您将看到所需的功能菜单。您需要插入以下参数。

    设备名称 平台名称 应用包 应用活动

    点击开始会话按钮

确保您的设备已连接到您的计算机,并且您的设备已启用 USB 调试。

【讨论】:

以上是关于Appium 无法启动的主要内容,如果未能解决你的问题,请参考以下文章

无法启动 Appium 会话,错误是:错误:启动应用程序需要参数“appPackage”

通过 AppiumDriverLocalSerivce 无法启动 appium service 问题

Chrome 浏览器无法使用 Java 在 Appium 中启动

appium在android7.0上无法启动问题

无法通过 Windows 10 上的 Appium 启动计算器显示错误

无法从 Appium 桌面应用程序启动应用程序。 apksigner 执行期间出错