无法通过 appium-RobotFramework 连接到 Android 模拟器
Posted
技术标签:
【中文标题】无法通过 appium-RobotFramework 连接到 Android 模拟器【英文标题】:Not able to connect to Android emulator via appium-RobotFramework 【发布时间】:2019-07-06 03:53:06 【问题描述】:想通过 appium-robotframework 运行我的原生应用程序。但是appium无法连接模拟器
安装了 appium windows 安装程序、Ride、Nodejs。安装了“pip install robotframework-appiumlibrary”。添加到环境的路径。在 Ride 中写了一个脚本: * 设置 * 图书馆 AppiumLibrary
* 测试用例 * 送货 [标签] run1 打开应用程序http://localhost:4723/wd/hubplatformName=android platformVersion=8.0.0 deviceName=emulator-5554 appPackage=com.android.Calculator appActivity=com.android.Calculator 睡眠 5s
点击Ride中的run,启动appium Node server
使用命令启动 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 信息:欢迎使用 Appium v1.4.16 (REV ae6877eff263066b26328d457bd285c0cc62430d) 信息:Appium REST http 接口监听器开始于 127.0.0.1:4723 信息:[调试]非默认服务器参数:“address”:“127.0.0.1”,“logNoColors”:true,“platformName”:“Android”,“platformVersion”:“23”,“automationName”:“Appium " 信息:控制台日志级别:调试 info: --> POST /wd/hub/session "capabilities":"firstMatch":["appium:deviceName":"emulator-5554","appium:appActivity":"com.android.Calculator", "platformName":"Android","appium:appPackage":"com.android.Calculator","appium:platformVersion":"8.0.0"],"desiredCapabilities":"platformVersion":"8.0.0 ","deviceName":"emulator-5554","platformName":"Android","appActivity":"com.android.Calculator","appPackage":"com.android.Calculator" 信息:客户端用户代理字符串:selenium/3.141.0(python windows) 信息:[调试] 没有得到应用但得到了 Android 包,将尝试在设备上启动它 信息:[调试] 创建新的 appium 会话 76d74fa1-d43f-4060-b2a8-df3abbf9b60b 信息:启动 android appium 信息:[调试] 获取 Java 版本 信息:Java 版本为:1.8.0_201 info: [debug] 检查 adb 是否存在 信息:[调试] 使用来自 C:\Users\avishek.dhar\AppData\Local\Android\Sdk\platform-tools\adb.exe 的 adb 警告:没有应用功能,无法解析包/活动 信息:[调试] 使用快速重置?真的 信息:[调试] 为会话准备设备 信息:[调试]不检查应用程序是否存在,因为我们假设它已经在设备上 信息:检索设备 信息:[调试] 尝试查找已连接的 android 设备 信息:[调试]正在连接设备... 信息:[调试] 执行 cmd:C:\Users\avishek.dhar\AppData\Local\Android\Sdk\platform-tools\adb.exe 设备 信息:[调试] 1 个设备已连接 信息:找到设备模拟器-5554 信息:[调试] 将设备 ID 设置为 emulator-5554 信息:[调试] 等待设备准备好并响应 shell 命令(超时 = 5) 信息:[调试] 执行 cmd:C:\Users\avishek.dhar\AppData\Local\Android\Sdk\platform-tools\adb.exe -s emulator-5554 等待设备 信息:[调试] 执行 cmd:C:\Users\avishek.dhar\AppData\Local\Android\Sdk\platform-tools\adb.exe -s emulator-5554 shell "echo 'ready'" 信息:[调试] 启动 logcat 捕获 信息:[调试] 获取设备 API 级别 信息:[调试] 执行 cmd:C:\Users\avishek.dhar\AppData\Local\Android\Sdk\platform-tools\adb.exe -s emulator-5554 shell "getprop ro.build.version.sdk" 信息:[调试] 设备处于 API 级别 26 信息:设备 API 级别为:26 信息:[调试]为语言提取字符串:默认 信息:[调试] Apk 在本地不存在 信息:[调试] 无法获取字符串,但看起来我们有一个旧的字符串文件,所以忽略 信息:[调试] 执行 cmd:C:\Users\avishek.dhar\AppData\Local\Android\Sdk\platform-tools\adb.exe -s emulator-5554 shell "rm -rf /data/local/tmp/strings .json" 信息:[调试] 由于服务器未使用 --full-reset 启动,因此未卸载应用程序 信息:[调试] 跳过安装,因为我们使用包而不是应用程序路径启动 信息:[调试] 转发系统:4724 到设备:4724 info: [debug] 执行 cmd: C:\Users\avishek.dhar\AppData\Local\Android\Sdk\platform-tools\adb.exe -s emulator-5554 forward tcp:4724 tcp:4724 信息:[调试] 将 appium 引导程序推送到设备... 信息:[调试] 执行 cmd:C:\Users\avishek.dhar\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\avishek.dhar\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" 信息:[调试] 停止 logcat 捕获 信息:[调试] Logcat 以代码 null 终止,信号 SIGTERM info: [debug] 发送关闭命令,等待 UiAutomator 停止... 警告:UiAutomator 没有足够快地关闭,称它消失了 信息:[调试] 清理 android 对象 错误:无法启动 Appium 会话,错误是:错误:命令失败:C:\windows\system32\cmd.exe /s /c "C:\Users\avishek.dhar\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"" adb:无法安装 C:\Program Files (x86)\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk:失败 [INSTALL_FAILED_ALREADY_EXISTS:尝试重新安装 io.appium.settings 而不先卸载。] 信息:[调试] 清理 appium 会话 信息:[调试] 错误:命令失败:C:\windows\system32\cmd.exe /s /c "C:\Users\avishek.dhar\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"" adb:无法安装 C:\Program Files (x86)\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk:失败 [INSTALL_FAILED_ALREADY_EXISTS:尝试重新安装 io.appium.settings 而不先卸载。]
at ChildProcess.exithandler (child_process.js:751:12) at ChildProcess.emit (events.js:110:17) at maybeClose (child_process.js:1016:16) at Process.ChildProcess._handle.onexit (child_process.js:1088:5)
info: [debug] Responding to client with error: "status":33,"value":"message":"A new session could not be created. (Original error: Command failed: C:\windows \system32\cmd.exe /s /c \"C:\Users\avishek.dhar\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\"\"\nadb: 安装失败 C:\Program Files (x86)\Appium\node_modules\appium\build\settings_apk\settings_apk-debug .apk: 失败 [INSTALL_FAILED_ALREADY_EXISTS: 尝试重新安装 io.appium.settings 而不先卸载。]\r\n)","killed":false,"code":1,"signal":null,"cmd" :"C:\windows\system32\cmd.exe /s /c \"C:\Users\avishek.dhar\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\"\"","origValue":"命令失败:C:\windows\system32\cmd.exe /s /c \"C:\Users\avishek.dhar\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\"\"\nadb: 失败安装 C:\Program Files (x86)\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk: 失败 [INSTALL_FAILED_ALREADY_EXISTS: 尝试重新安装 io.appium.settings 而不先卸载。]\r\n" ,"sessionId":null 信息:
预计我应该能够在 android 模拟器中启动计算器以编写更多测试脚本
【问题讨论】:
【参考方案1】:您的设置失败:
Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.settings without first uninstalling.]
修改你的设置,特别是这个:
info: [debug] Not uninstalling app since server not started with --full-reset info: [debug] Skipping install since we launched with a package instead of an app path
【讨论】:
以上是关于无法通过 appium-RobotFramework 连接到 Android 模拟器的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 PancakeSwap 路由器移除流动性。通过“写”合约成功添加,但无法删除LiquidityETH
为啥 charles 无法通过 c++ 捕获 http 请求?