java - Appium session ,找不到连接的 Android 设备。显示错误

标签 java android eclipse selenium junit

Appium session ,找不到连接的 Android 设备。在eclipse中显示错误

如果有人知道如何修复请告诉我。

**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 错误:-

org.openqa.selenium.SessionNotCreatedException:无法创建新 session 。 (原始错误:找不到连接的 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 管理器设置:- 图片

enter image description here

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\24.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\24.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

最佳答案

出现上述错误的原因是,无法找到任何设备或 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.

仅在 AVD 管理器中创建 AVD 是不够的。它必须启动并运行(已启动并准备就绪)。为此,请在您的 AVD 管理器中选择任何 AVD,然后单击“开始”按钮。让 AVD 启动。等待。 (这类似于打开真实设备。) 或者,需要连接一些真实的设备。在该设备中,“开发者选项”应该是开启的。 “USB 调试”应该打开。

转到命令提示符并运行以下命令:

adb devices

预期输出:某些设备或 AVD 应显示为已连接。 一旦您看到任何设备或 AVD 已连接并重试,您的问题就会得到解决。

注意: 在命令窗口中运行“adb devices”命令时,如果您看到类似“abd.exe 是无法识别的内部或外部命令或批处理文件...”的消息,那么您需要在路径中包含 adb.exe。您可以在环境变量中添加它的路径,或者在运行“adb devices”之前简单地运行以下命令:

set path=%PATH%;"D:\AndroidSDK\platform-tools"

请注意,adb.exe 文件在我的 PC 上的 platform-tools 文件夹中,在 Android SDK 文件夹中。您需要修改此路径,因为它在您的 PC 上。

关于java - Appium session ,找不到连接的 Android 设备。显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40127105/

相关文章:

java - grails optaplanner 中解算器配置不存在错误

java - 在 Eclipse 中生成返回 self 的 setter

android - Retrofit 2 + RxJava 取消/取消订阅

android - 无法在 Android 应用程序的对话框中设置 OnClickListener

android - 视频渲染损坏 MediaCodec H.264 流

Eclipse 中的 Java 项目版本

java - Hibernate 不在数据库中保存对象?

java - 如何阻止 Eclipse 调试我们的库代码

eclipse - Android Studio - 无法找到库引用 ../google-play-services_lib 导入项目

java - 使用 java 以编程方式处理软件