Appium错误:找不到范围8200..8299中的任何可用端口

时间:2020-08-04 00:51:07

标签: testing automated-tests appium ui-automation appium-android

我在Appium(iMac上的Android模拟器)上运行了大约90个测试,一切都很好,直到突然我开始观察到此错误:

Starting logs capture with command: /Users/username/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 logcat -v threadtime
     E       selenium.common.exceptions.WebDriverException: Message: An unknown server-side
 error occurred while processing the command. Original error: Cannot find any free port in range
 8200..8299}. Please set the available port number by providing the systemPort capability or
 double check the processes that are locking ports within this range and terminate these which
 are not needed anymore

我做了一些事情来解决这个问题,但没有任何效果:

1。

adb kill-server    
adb reconnect
  1. 我确实清理了模拟器并重新启动。

  2. 除此之外,我没有找到系统已在使用的8200-8299端口。

  3. 我也确实添加了systemPort功能,但仍然看到相同的错误。

我不知道如何解决这个问题。

更新:

找到更多日志,并发现UIAutomator 2(或adb)未清除端口转发,这就是为什么我在iOS上没有问题,而仅在Android上发布过的原因。这是位于appium服务器末端的日志:

[debug] [35m[WD Proxy] [39m Proxying [DELETE /] to [DELETE http://127.0.0.1:8200/wd/hub/session/d1f94433-2c44-4dac-a836-461ab7f41130] with no body
[debug] [35m[UiAutomator2] [39m Deleting UiAutomator2 server session
[debug] [35m[WD Proxy] [39m Matched '/' to command name 'deleteSession'
[debug] [35m[WD Proxy] [39m Proxying [DELETE /] to [DELETE http://127.0.0.1:8201/wd/hub/session/37137b29-a9a6-4d83-b2d9-ce510f601a2d] with no body
[debug] [35m[UiAutomator2] [39m Deleting UiAutomator2 server session

其中127.0.0.1:8201上升到127.0.0.1:8299并删除了100个我不希望的活动会话。

此外,在netstat输出中,我确实看到TCP端口127.0.0.1:8200-127.0.0.1:8299(LISTEN)已打开

1 个答案:

答案 0 :(得分:0)

执行:

adb -s $UDID forward --remove-all

就在启动 appium 之前 然后确保adb使用的端口是空闲的

How do I stop an adb port forward?