在服务器中运行时,我们收到:
Failed to start gauge API: Timed out connecting to 127.0.0.1:46025
服务器在/ etc / hosts中具有localhost 127.0.0.1
我尝试使用nc在同一端口号上启动虚拟侦听器失败,并且我可以通过telnet到它。
例如,如果我像这样启动一个netcat侦听器:
nc -l -p 46025
将和telnet从同一台服务器插入其中:
telnet 127.0.0.1 46025
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
sdlfkhsldfkj
我能够看到按键出现在侦听器中:
nc -l -p 46025
sdlfkhsldfkj
^C
这里有什么问题? 如何解决更多问题? 谢谢!
以下是错误日志(在Jenkins管道中运行):
13:28:53 + gauge run --tags 1234 specs
13:29:25 Error ----------------------------------
13:29:25
13:29:25 Failed to start gauge API: Timed out connecting to 127.0.0.1:36192
13:29:25
13:29:25 Get Support ----------------------------
13:29:25 Docs: https://docs.gauge.org
13:29:25 Bugs: https://github.com/getgauge/gauge/issues
13:29:25 Chat: https://gitter.im/getgauge/chat
13:29:25
13:29:25 Your Environment Information -----------
13:29:25 linux, 1.0.5, 562f036
13:29:25 html-report (4.0.8), python (0.3.5), screenshot (0.0.1), xml-report (0.2.1)
答案 0 :(得分:1)
原因:
以下错误
当您的仪表运行器(套接字客户端)在超时时间内无法连接到仪表(套接字服务器)时,发生Failed to start gauge API: Timed out connecting to 127.0.0.1:{port_no}
。按规范的默认超时为 25秒。标尺创建两种类型的套接字服务器(GRPC或TCP)。
可能的原因:
您有大量的规范或测试用例。
由于25秒是一个较长的时间段,因此系统可能没有足够的资源(CPU利用率,RAM)在此时间段内进行连接。它可能在测试或开发环境中发生。如果您使用docker或kubernetes,请检查您的容器或pod是否具有所需的资源。
如果已将 enable_multithreading 设置为true,则由于资源不足,系统将无法支持它。
解决方案:
尝试运行单个规范,而不运行大型编号。通过命令gauge run {specs_dir}/{specs_fileName}
进行规范。
运行命令gauge config runner_connection_timeout {timeInMillisecs}
和gauge config runner_request_timeout {timeInMillisecs}
以增加超时。
例如:仪表配置Runner_connection_timeout 40000 将超时设置为40秒。
在 env / default / default.properties 文件中设置enable_multithreading=false
。
注意:如果未设置任何端口,则可为客户端分配一个随机的空闲端口以进行连接,可以通过设置环境变量GAUGE_PORT = {portNo}和GAUGE_INTERNAL_PORT = {portNo}来指定端口情况。