PowerShell/CMD如何同时运行chromedriver与flutter drive无需等待前序命令完成
Windows CMD/PowerShell 并行执行chromedriver与flutter drive命令方案
CMD 环境操作步骤
- 第一步使用
start命令启动chromedriver,该命令会创建独立进程不会阻塞后续命令执行:
若不需要弹出新窗口,可添加start "" chromedriver --port=4444/B参数后台运行:start /B "" chromedriver --port=4444 - 第二步直接执行flutter测试命令即可:
flutter drive --target=test_driver/app.dart --browser-name=chrome --release --no-headless
注意:CMD中start命令的第一个引号参数会被识别为窗口标题,因此需要先加一对空引号避免命令解析错误。
PowerShell 环境操作步骤
基础并行执行方案
- 先用
Start-Process启动chromedriver独立进程:
若要隐藏chromedriver窗口,添加Start-Process -FilePath "chromedriver" -ArgumentList "--port=4444"-WindowStyle Hidden参数:Start-Process -FilePath "chromedriver" -ArgumentList "--port=4444" -WindowStyle Hidden - 再执行flutter测试命令即可。
自动清理进程方案(推荐)
测试完成后自动关闭chromedriver进程,避免端口占用:
# 启动chromedriver并记录进程ID $chromedriver = Start-Process -FilePath "chromedriver" -ArgumentList "--port=4444" -PassThru -WindowStyle Hidden # 执行flutter集成测试 flutter drive --target=test_driver/app.dart --browser-name=chrome --release --no-headless # 测试结束后自动关闭chromedriver Stop-Process -Id $chromedriver.Id -Force
通用注意事项
- 执行前需确保chromedriver、flutter都已加入系统环境变量,否则需要填写命令的完整绝对路径
- 若未使用自动清理方案,测试完成后需手动终止chromedriver进程,避免4444端口被持续占用
内容的提问来源于stack exchange,提问作者MikeSmith
相关产品推荐
相关产品推荐

