我使用Python AppiumService启动我的appium服务器。
from appium.webdriver.appium_service import AppiumService
service = AppiumService()
args = [
"--address", "127.0.0.1", # this works
#"--address", "0.0.0.0", # this works on cmd line, but not in script. Why?
"--port", "4723",
"--log-no-colors",
"--base-path", '/wd/hub'
]
print(f"starting cmd = appium {' '.join(args)}")
service.start(args=args)
print(f"service.is_running={service.is_running}")
print(f"service.is_listening={service.is_listening}")
service.stop()如果我使用localhost地址127.0.0.1作为侦听地址,它可以工作。
C:\Users\...> python myscript.py
starting cmd = appium --address 127.0.0.1 --port 4723 --log-no-colors --base-path /wd/hub
service.is_running=True
service.is_listening=True但是,如果我使用通配符地址0.0.0.0 (这应该是默认地址),它就不能工作。
C:\Users\...> python myscript.py
starting cmd = appium --address 0.0.0.0 --port 4723 --log-no-colors --base-path /wd/hub
Traceback (most recent call last):
File "c:\Users\...\test_appiumService.py", line 14, in <module>
service.start(args=args)
File "c:\users\...\site-packages\appium\webdriver\appium_service.py", line 222, in start
raise AppiumServiceError(error_msg)
appium.webdriver.appium_service.AppiumServiceError: Appium server has started but is not listening on /wd/hub/status within 60000ms timeout. Make sure proper values have been provided to --base-path, --address and --port process arguments.0.0.0.0地址在命令行上运行良好
c:\Users\...>appium --address 0.0.0.0 --port 4723 --log-no-colors --base-path /wd/hub
[Appium] Welcome to Appium v1.22.3
[Appium] Non-default server args:
[Appium] logNoColors: true
[Appium] Appium REST http interface listener started on 0.0.0.0:4723环境:
Windows 10 latest patch,
Python 3.10,
Appium server 1.22.3,
Appium-Python-Client 2.7.1发布于 2022-10-31 07:27:17
我在设置测试项目时也注意到了这一点。我猜原因可能是0.0.0.0不能被点击,而且出于某种原因,通过代码启动它需要ping,而启动服务器本身不需要。但这只是猜测,我真的不确定。
https://stackoverflow.com/questions/74225691
复制相似问题