eclipse Appium 会话,找不到已连接的 Android 设备。显示错误
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/40127105/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Appium session, could not find a connected Android device. Shows error
提问by Waruna Gunaratne
Appium session, could not find a connected Android device. Shows error in eclipse
Appium 会话,找不到已连接的 Android 设备。在 Eclipse 中显示错误
If any one know how to fix please let me know.
如果有人知道如何解决,请告诉我。
**The Junit code: - **
**Junit 代码:- **
import static org.junit.Assert.*;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.junit.Test;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import io.appium.java_client.remote.MobilePlatform;
public class desiredCapab {
@Test
public void test() throws MalformedURLException {
File appDir = new File("C:\Eclipse-Neon\Project\AppiumT\Apk\");
File app = new File (appDir, "WhatsApp.apk");
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.PLATFORM_NAME,MobilePlatform.ANDROID);
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator");
cap.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
AndroidDriver driver = new AndroidDriver(new URL ("http://127.0.0.1:4723/wd/hub"), cap);
//{"address":"127.0.0.1","logNoColors":true,"platformName":"Android","platformVersion":"23","automationName":"Appium"}
}
}
Eclipse Junit Error :-
Eclipse Junit 错误:-
org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Could not find a connected Android device.) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 28.61 seconds Build info: version: '2.49.0', revision: '365eeb4', time: '2016-01-13 18:33:29' System info: host: 'DESKTOP-PC1SJR4', ip: '192.168.1.104', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_91'
org.openqa.selenium.SessionNotCreatedException:无法创建新会话。(原始错误:找不到连接的 Android 设备。)(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时:28.61 秒构建信息:版本:'2.49.0',修订:'365eeb4',时间: '2016-01-13 18:33:29' 系统信息: 主机: 'DESKTOP-PC1SJR4', ip: '192.168.1.104', os.name: 'Windows 10', os.arch: 'amd64', os .version: '10.0', java.version: '1.8.0_91'
AVD manager setting: - Image
AVD 管理器设置: - 图像
Appium :- Error message
Appium :- 错误信息
> info: --> POST /wd/hub/session {"desiredCapabilities":{"app":"C:\Eclipse-Neon\Project\AppiumT\Apk\WhatsApp.apk","platformName":"Android","deviceName":"Android Emulator"}}
> info: Client User-Agent string: Apache-HttpClient/4.5.1 (Java/1.8.0_91)
> info: [debug] No appActivity desired capability or server param. Parsing from apk.
> info: [debug] No appPackage desired capability or server param. Parsing from apk.
> info: [debug] Using local app from desired caps: C:\Eclipse-Neon\Project\AppiumT\Apk\WhatsApp.apk
> info: [debug] Creating new appium session c9232f90-f519-4058-9e80-22cd2830de57
> info: Starting android appium
> info: [debug] Getting Java version
> info: Java version is: 1.8.0_101
> info: [debug] Checking whether adb is present
> info: [debug] Using adb from C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe
> info: [debug] Parsing package and activity from app manifest
> info: [debug] Checking whether aapt is present
> info: [debug] Using aapt from C:\Users\bizBoxChat\AppData\Local\Android\sdk\build-tools.0.3\aapt.exe
> info: [debug] Extracting package and launch activity from manifest.
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\build-tools.0.3\aapt.exe dump badging C:\Eclipse-Neon\Project\AppiumT\Apk\WhatsApp.apk
> info: [debug] badging package: com.whatsapp
> info: [debug] badging act: com.whatsapp.Main
> info: [debug] Parsed package and activity are: com.whatsapp/com.whatsapp.Main
> info: [debug] Using fast reset? true
> info: [debug] Preparing device for session
> info: [debug] Checking whether app is actually present
> info: Retrieving device
> info: [debug] Trying to find a connected android device
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe devices
> info: [debug] 0 device(s) connected
> info: [debug] Could not find devices, restarting adb server...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe kill-server
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe devices
> info: [debug] 0 device(s) connected
> info: [debug] Could not find devices, restarting adb server...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe kill-server
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe devices
> info: [debug] 0 device(s) connected
> info: [debug] Could not find devices, restarting adb server...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe kill-server
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe devices
> info: [debug] 0 device(s) connected
> info: [debug] Could not find devices, restarting adb server...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe kill-server
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe devices
> info: [debug] 0 device(s) connected
> info: [debug] Sent shutdown command, waiting for UiAutomator to stop...
> warn: UiAutomator did not shut down fast enough, calling it gone
> info: [debug] Cleaning up android objects
> info: [debug] Cleaning up appium session
> error: Failed to start an Appium session, err was: Error: Could not find a connected Android device.
> info: [debug] Error: Could not find a connected Android device.
> at [object Object].ADB.getDevicesWithRetry (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:606:15)
> at [object Object].androidCommon.prepareActiveDevice (C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android-common.js:400:12)
> at [object Object].<anonymous> (C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android-common.js:326:26)
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:607:21
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:246:17
> at iterate (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:146:13)
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:157:25
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:248:21
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:612:34
> at [object Object].androidCommon.ensureDeviceLocale (C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android-common.js:371:45)
> at [object Object].androidCommon.prepareEmulator (C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android-common.js:364:10)
> at [object Object].<anonymous> (C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android-common.js:325:26)
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:607:21
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:246:17
> at iterate (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:146:13)
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:157:25
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:248:21
> at C:\Program Files (x86)\Appium\node_modules\appium\node_modules\async\lib\async.js:612:34
> at [object Object].<anonymous> (C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android-common.js:344:9)
> at FSReqWrap.oncomplete (fs.js:95:15)
> info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Could not find a connected Android device.)","origValue":"Could not find a connected Android device."},"sessionId":null}
> info: <-- POST /wd/hub/session 500 28492.200 ms - 206
回答by gaurav25
Reason of above error is, any device or AVD could not be found to be connected. Following lines in your error message show this:
上述错误的原因是,找不到任何设备或 AVD 连接。错误消息中的以下几行显示了这一点:
> info: [debug] Trying to find a connected android device
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: C:\Users\bizBoxChat\AppData\Local\Android\sdk\platform-tools\adb.exe devices
> info: [debug] 0 device(s) connected
> info: [debug] Could not find devices, restarting adb server...
> info: [debug] Error: Could not find a connected Android device.
Just creating AVD in AVD manager is not sufficient. It has to be up and running (started and ready). To do that, select any AVD in your AVD manager, and click on "Start" button. Let the AVD boot. Wait. (It is similar to a real device switching on.) Or, some real device needs to be connected. In that device, "Developer Options" should be On. "USB debugging" should be On.
仅在 AVD 管理器中创建 AVD 是不够的。它必须启动并运行(已启动并准备就绪)。为此,请在您的 AVD 管理器中选择任何 AVD,然后单击“开始”按钮。让 AVD 启动。等待。(类似于真机开机。)或者需要连接真机。在该设备中,“开发人员选项”应该处于开启状态。“USB 调试”应该打开。
Go to command prompt and run following command:
转到命令提示符并运行以下命令:
adb devices
Expected output: Some device or AVD should be shown as connected. Once you see any device or AVD connected, and retry, then your problem will be solved.
预期输出:某些设备或 AVD 应显示为已连接。一旦您看到任何设备或 AVD 已连接并重试,您的问题就会得到解决。
Note: On running "adb devices" command in command window, if you see message like "abd.exe is an unrecognized internal or external command or batch file...", then you need to have adb.exe in path. You can add its path in environment variables, or simply run following command before running "adb devices":
注意:在命令窗口中运行“adb devices”命令时,如果您看到类似“abd.exe 是无法识别的内部或外部命令或批处理文件...”这样的消息,那么您需要在路径中有 adb.exe。您可以在环境变量中添加它的路径,或者在运行“adb devices”之前简单地运行以下命令:
set path=%PATH%;"D:\AndroidSDK\platform-tools"
Note that adb.exe file is in platform-tools folder on my PC, in Android SDK folder. You will need to modify this path as it is on your PC.
请注意,adb.exe 文件位于我 PC 上的 platform-tools 文件夹中,在 Android SDK 文件夹中。您将需要修改此路径,因为它在您的 PC 上。
回答by Mani
Try to use real device, since emulators are very slow and booting time will also take more time. Even real device also I was facing this kind of issue,
尝试使用真实设备,因为模拟器非常慢并且启动时间也需要更多时间。即使是真机我也面临这种问题,
Expecting causes :
预期原因:
- Android emulator startup issue
- ADB issue
- System config
- Android模拟器启动问题
- 亚行问题
- 系统配置
If adb issue, you need run following command in your cmd:
如果 adb 问题,则需要在 cmd 中运行以下命令:
adb kill-server
adb start-server
Then you try with Android emulator and make ensure you system has enough memory these emulator like VM this will CPU & memory of your system accountable amount.
然后您尝试使用 Android 模拟器并确保您的系统有足够的内存,这些模拟器(如 VM)这将占用您系统的 CPU 和内存。