当使用部署在 jenkins 服务器上的nighwatch和zalenium运行 selenium 测试时,如果测试是从远程系统执行的,则没有问题,但如果测试是从同一个 jenkins 服务器执行的,它将在executeAsync期间失败:
POST /wd/hub/session/63a916e0c8ce50877bd38d8cf75a220f/execute_async - ECONNRESET
Error: socket hang up
我知道这是一个通用的 selenium 错误消息,它会在不同的场合出现,但知道如何调试问题会很棒。
失败的代码行
this.api.executeAsync()
这就是zalenium的启动方式
docker run -d -e NEW_SESSION_WAIT_TIMEOUT=9600 -e SEL_BROWSER_TIMEOUT_SECS=7800 -ti --name zalenium -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock --privileged dosel/zalenium start --maxTestSessions 20 --seleniumImageName elgalu/selenium --videoRecordingEnabled false --keepOnlyFailedTests true --maxDockerSeleniumContainers 3
从守夜人的角度来看,测试运行正常,它只收到一个500
zalenium,另一方面,由于 zalenium 的问题,我无法访问 selenium 日志......