连接到远程 ADB 的 Appium 服务器
Appium server connecting to remote ADB
是否可以让 Appium 服务器使用远程 ADB 服务器而不是 localhost
?
能够在 Dockerized 环境中使用 Appium 服务器是必不可少的。
是的。可以让 appium 服务器使用远程 adb 服务器。
您可以寻找开源库,例如 OPEN-STF,它为您提供了一种通过 adb 远程访问设备的媒介。
在您的 Appium 界面上,您需要做的就是在与远程服务器 url 相同的 URL 上执行 setup/tests,其中 appium-server-node
将是 运行.
这可以通过 ADB 连接函数来完成。在 Appium 容器中,运行 adb connect <host>:<port>
其中 <host>:<port>
是远程 ADB 服务器的 IP address/port(默认端口 5555)。
例如,如果硬件设备物理连接在 IP 地址 192.168.1.101,则用于连接的 adb 命令将是
adb connect 192.168.1.101:5555
此时,如果您从 Appium 主机 运行 adb devices
远程设备应该被列为已连接,您可以继续进行测试。要断开远程设备,请使用 adb disconnect 函数;例如adb disconnect 192.168.1.101:5555
如果您的目标只是在 Dockerized Appium 环境中使用 USB 连接的硬件设备,另一种选择是使用 docker 卷将主机硬件暴露给容器。将 -v /dev/bus/usb:/dev/bus/usb/
选项传递给 docker 运行 命令将使容器能够完全访问 USB 总线和所有连接的设备。
调查此问题并检查答案后,我认为简短的答案是:目前不使用第三方工具是不可能的。
但是,如果在 Linux 系统上使用 Docker,则可以采用一种解决方法(如果 ADB 服务器 运行s 在Docker 机器创建的虚拟机)。
Linux 上的 ADB 服务器 运行 和 Docker 容器中的 Appium 服务器 运行ning 可以连接 localhost
上的 ADB。需要使用 --privileged
和 -v /dev/bus/usb:/dev/bus/usb/
以便 Docker 容器可以连接设备。
仅当设备连接到 Docker 容器 运行.
所在的同一台机器时才有效
是否可以让 Appium 服务器使用远程 ADB 服务器而不是 localhost
?
能够在 Dockerized 环境中使用 Appium 服务器是必不可少的。
是的。可以让 appium 服务器使用远程 adb 服务器。
您可以寻找开源库,例如 OPEN-STF,它为您提供了一种通过 adb 远程访问设备的媒介。
在您的 Appium 界面上,您需要做的就是在与远程服务器 url 相同的 URL 上执行 setup/tests,其中 appium-server-node
将是 运行.
这可以通过 ADB 连接函数来完成。在 Appium 容器中,运行 adb connect <host>:<port>
其中 <host>:<port>
是远程 ADB 服务器的 IP address/port(默认端口 5555)。
例如,如果硬件设备物理连接在 IP 地址 192.168.1.101,则用于连接的 adb 命令将是
adb connect 192.168.1.101:5555
此时,如果您从 Appium 主机 运行 adb devices
远程设备应该被列为已连接,您可以继续进行测试。要断开远程设备,请使用 adb disconnect 函数;例如adb disconnect 192.168.1.101:5555
如果您的目标只是在 Dockerized Appium 环境中使用 USB 连接的硬件设备,另一种选择是使用 docker 卷将主机硬件暴露给容器。将 -v /dev/bus/usb:/dev/bus/usb/
选项传递给 docker 运行 命令将使容器能够完全访问 USB 总线和所有连接的设备。
调查此问题并检查答案后,我认为简短的答案是:目前不使用第三方工具是不可能的。
但是,如果在 Linux 系统上使用 Docker,则可以采用一种解决方法(如果 ADB 服务器 运行s 在Docker 机器创建的虚拟机)。
Linux 上的 ADB 服务器 运行 和 Docker 容器中的 Appium 服务器 运行ning 可以连接 localhost
上的 ADB。需要使用 --privileged
和 -v /dev/bus/usb:/dev/bus/usb/
以便 Docker 容器可以连接设备。
仅当设备连接到 Docker 容器 运行.
所在的同一台机器时才有效