Testcafe:启动浏览器之前,如何等待远程运行程序等待/接受连接?

问题描述

首先,testcafe的“远程”功能很容易成为我见过的最好,最便携的浏览器测试实现之一;对于开发它的团队来说是出色的工作。

我运行npx testcafe remote ./tests --ports 5567,5568

跑步者会通知我它正在http://localhost:5567/browser/connect上监听。太好了,现在我要启动浏览器并导航到该URL。

我的浏览器可能是docker容器内的无头浏览器,或者可能是运行MacOS的远程服务器-不论其位置如何,都需要在测试运行器准备好后 发出远程命令并接受连接。

是否存在诸如/ping之类的端点或可以向其发送请求的端点,该端点将通知我测试跑步者的活动状态?

npx concurrently \
  "npx wait-on http://localhost:5567/ping && remote-browser-util IOS_SAFARI http://localhost:5567/browser/connect" \
  "npx testcafe remote ./tests --ports 5567,5568"

解决方法

一旦指定端口被占用,

TestCafe就准备接受浏览器连接。因此,您可以使用wait-on tcp:5567来延迟浏览器的启动。