Appium DeskTop连接模拟器(真机)测试报错Could not find a connected Android device&starting now at tcp:5037

一、问题描述

    测试小白,学习自动化测试,连接夜神模拟,真机也试过了,同样报错,这是问题是迄今为止我遇到最der(东北话)的问题,网上百度五花八门,全都是屁话,测试论坛发帖无人回复,真的跪了。我今天把自己的解决方法分享出来,希望帮到大家。

    无奈软件开发,从入门都精通的过程就是从不断挖坑到不断填坑的过程,第一次发帖的时间为2020-01-02,这次更新的时间是2020-01-30,再次把我解决问题的方法完善,供大家参考。
描述如下

[ADB] Could not find devices, restarting adb server...
[ADB] Restarting adb
[ADB] Killing adb server on port 5037
[ADB] Running 'D:\Sets\Android\android-sdk\platform-tools\adb.exe -P 5037 kill-server'
[ADB] Could not find devices, restarting adb server...
[ADB] Restarting adb
[ADB] Killing adb server on port 5037
[ADB] Running 'D:\Sets\Android\android-sdk\platform-tools\adb.exe -P 5037 kill-server'
[ADB] Could not find devices, restarting adb server...
[ADB] Restarting adb
[ADB] Killing adb server on port 5037
[ADB] Running 'D:\Sets\Android\android-sdk\platform-tools\adb.exe -P 5037 kill-server'
[UiAutomator2] Deleting UiAutomator2 session
[BaseDriver] Event 'newSessionStarted' logged at 1577948298976 (14:58:18 GMT+0800 (中国标准时间))
[MJSONWP] Encountered internal error running command: Error: Could not find a connected Android device.
[MJSONWP]     at getDevices (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\node_modules\appium-adb\lib\tools\system-calls.js:203:13)
[MJSONWP]     at getDevices (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\node_modules\appium-adb\lib\tools\system-calls.js:220:20)
[HTTP] <-- POST /wd/hub/session 500 37991 ms - 179
[HTTP] 
[HTTP] --> DELETE /wd/hub/session
[HTTP] {}
[HTTP] No route found. Setting content type to 'text/plain'
[HTTP] <-- DELETE /wd/hub/session 404 2 ms - 57
[HTTP] 

1、今天我用下面的方法直接连接夜神模拟器,却出现如下错误

PS C:\WINDOWS\system32> adb connect 127.0.0.1:62001
* daemon not running; starting now at tcp:5037
could not read ok from ADB Server
* failed to start daemon
error: cannot connect to daemon

二、解决办法

    这个问题网上找,真的,真的,很普遍,但你肯能使用的所有解决方法都没法解决问题,确实存在SDK中adb与夜神中nox_adb版本不一致的问题,我说说我的解决办法。

有时候直接操作第二步就可以

1、先用nox_adb连接夜神模拟器

    进入夜神模拟安装目录的bin文件夹中
    (当然办法有很多,可以直接把它(路径)添加到系统环境变量path中)
在这里插入图片描述
分别输入

nox_adb connect 127.0.0.1:62001   (1)

nox_adb devices   (2)

在这里插入图片描述

2、再用adb连接夜神模拟器

以管理员身份进入Windows PowerShell,输入以下命令

 adb connect 127.0.0.1:62001
  • 62001 为第一个夜神模拟器的端口号
  • 62005 为第二个
  • 62006 第三个,以此类

在这里插入图片描述
    输入adb devices出现显示127.0.0.1:62001 device,说明连接成功
2、右键管理员身份启动Appium,启动服务,启动Session,成功!!!!!

三、查看端口以及杀掉占用端口程序的命令

  • 查看所有连接的PID

      netstat -ano
    
  • 查看占用“某”端口程序

     netstat -ano|findstr "某"
    
     tasklist|findstr "PID"    
    

在这里插入图片描述

  • 结束该进程两种命令

     第一种: taskkill /f /t /im ****.exe
    
     第二种:taskkill /F /pid “PID”     
    

四、课后讨论

  • 在我用adb连接夜神模拟器时出现
PS C:\WINDOWS\system32> adb connect 127.0.0.1:62001
* daemon not running; starting now at tcp:5037
could not read ok from ADB Server
* failed to start daemon
error: cannot connect to daemon
  • 以为是其他应用或者服务占用了5037端口
  • 然后用命令: netstat -ano|findstr "5037" 查看它的PID,然后好结束掉占用5037端口的应用,就出现了下面的情况
    在这里插入图片描述
  • 我发现他的PID(好像)每隔一秒就换,看到它是TCP的请求连接,我一度以为我的电脑中病毒了。
    当我关掉夜神模拟器时,再次输入 netstat -ano|findstr "5037" 却出现
    在这里插入图片描述
  • 再输入: tasklist|findstr "57248"
    在这里插入图片描述
  • 发现一直占用5037端口的其实就是adb。哎呀呀呀呀呀~
    我这才想起上次出现错我是怎么解决的,进入夜神的安装目录,用nox_adb连接模拟器,再用adb连接模拟器······成功了,f**k~、
  • 情不自禁,难免感叹一下。
发布了59 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_27009225/article/details/103804556
今日推荐