【发布时间】:2019-11-30 20:37:38
【问题描述】:
我需要在 Windows Jenkins slave 上运行 appium 服务器。
我通过“执行 windows 命令”使用以下命令:
appium & --device_name Nexus_S
mvn test
但是当我运行 appium 时,命令行只是“挂断”并不断显示服务器控制台。 我该怎么做才能忽略那个持续的任务并执行下一个命令?
【问题讨论】:
我需要在 Windows Jenkins slave 上运行 appium 服务器。
我通过“执行 windows 命令”使用以下命令:
appium & --device_name Nexus_S
mvn test
但是当我运行 appium 时,命令行只是“挂断”并不断显示服务器控制台。 我该怎么做才能忽略那个持续的任务并执行下一个命令?
【问题讨论】:
您需要将 appium 作为新进程运行。
要运行 appium,请使用:
call start "appium" appium & --device_name Nexus_S
它将以“appium”开头的名称启动新进程(您可以选择所需的名称)。您可以稍后使用此名称来终止该进程。
杀死appium使用:
taskkill /f /fi "WINDOWTITLE eq appium*" /t
它将杀死名称以“appium”开头的进程(我们之前使用过)。 参数 /t 表示所有子进程也被杀死。 (Appium server 不只是一个进程)
【讨论】:
您可以使用以下命令启动 Appium:
call start cmd.exe /k PATH_TO_NODE_JS PATH_TO_APPIUM_JS --address IP_ADDRESS --port PORT_NUMBER
就我而言:
PATH_TO_NODE_JS 是 C:/node/node.exePATH_TO_APPIUM_JS 是
C:/Users/saqada/AppData/Local/Programs/appium-desktop/resources/app/node_modules/appium/build/lib/main.jsIP_ADDRESS 是 127.0.0.1PORT_NUMBER 是 4725完整的命令如下:
call start cmd.exe /k C:/node/node.exe C:/Users/saqada/AppData/Local/Programs/appium-desktop/resources/app/node_modules/appium/build/lib/main.js --address 127.0.0.1 --port 4725
当您从 Jenkins 启动 Appium 服务器时,您无需手动停止它,因为 Jenkins 会为您处理它。因此,在完成 Jenkins 作业后,由 Jenkins 创建的 Appium 服务器及其所有相关进程将被终止。
但是,如果您从命令行启动 Appium 并想要停止它,您可以使用:
taskkill /f /fi "IMAGENAME eq node.exe" /t
请记住,在某些情况下main.js 不起作用,您需要使用Appium.js,您可以在与 main.js 相同的位置找到它
【讨论】:
【讨论】: