getgauge无法启动仪表API:连接127.0.0.1超时

时间:2019-06-30 22:38:05

标签: getgauge

在服务器中运行时,我们收到:

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)

1 个答案:

答案 0 :(得分:1)

原因:

以下错误 当您的仪表运行器(套接字客户端)在超时时间内无法连接到仪表(套接字服务器)时,发生Failed to start gauge API: Timed out connecting to 127.0.0.1:{port_no}。按规范的默认超时为 25秒。标尺创建两种类型的套接字服务器(GRPC或TCP)。

可能的原因:

  1. 您有大量的规范或测试用例。

  2. 由于25秒是一个较长的时间段,因此系统可能没有足够的资源(CPU利用率,RAM)在此时间段内进行连接。它可能在测试或开发环境中发生。如果您使用docker或kubernetes,请检查您的容器或pod是否具有所需的资源。

  3. 如果已将 enable_multithreading 设置为true,则由于资源不足,系统将无法支持它。

解决方案:

  1. 尝试运行单个规范,而不运行大型编号。通过命令gauge run {specs_dir}/{specs_fileName}进行规范。

  2. 运行命令gauge config runner_connection_timeout {timeInMillisecs}gauge config runner_request_timeout {timeInMillisecs}以增加超时。 例如:仪表配置Runner_connection_timeout 40000 将超时设置为40秒。

  3. env / default / default.properties 文件中设置enable_multithreading=false

注意:如果未设置任何端口,则可为客户端分配一个随机的空闲端口以进行连接,可以通过设置环境变量GAUGE_PORT = {portNo}和GAUGE_INTERNAL_PORT = {portNo}来指定端口情况。