Запуск следующих сервисов в стеке через docker-compose
:
jenkins/jnlp-slave
(специально созданный, чтобы включить pip3, python3, некоторые другие джаз), реплицированные 1/1
selenium/node-chrome:3.141.59
реплицировано 12/12
selenium/hub:3.141.59
тиражировано 1/1
I 'Я запускаю тесты BDD, запущенные через Jenkins, все ускоряют сеанс удаленного доступа к веб-драйверу.
Большинство моих тестов работают просто отлично, но некоторые из них возвращают следующую ошибку (это в журналах контейнера selenium-hub
:
ERROR [RequestHandler.process] - Socket timed out for session ext. key xxxxx , timeout
Вывод на консоль задания:
Exception WebDriverException: Message: Session [cxxxxxxxx] was terminated due to SO_TIMEOUT
Stacktrace:
at org.openqa.grid.internal.ActiveTestSessions.getExistingSession (ActiveTestSessions.java:115)
at org.openqa.grid.internal.DefaultGridRegistry.getExistingSession (DefaultGridRegistry.java:387)
at org.openqa.grid.web.servlet.handler.RequestHandler.getSession (RequestHandler.java:241)
at org.openqa.grid.web.servlet.handler.RequestHandler.process (RequestHandler.java:123)
at org.openqa.grid.web.servlet.DriverServlet.process (DriverServlet.java:85)
at org.openqa.grid.web.servlet.DriverServlet.doGet (DriverServlet.java:63)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:790)
at org.seleniumhq.jetty9.servlet.ServletHolder.handle (ServletHolder.java:865)
at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle (ServletHandler.java:535)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle (ScopedHandler.java:146)
at org.seleniumhq.jetty9.security.SecurityHandler.handle (SecurityHandler.java:548)
at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle (HandlerWrapper.java:132)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle (ScopedHandler.java:257)
at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle (SessionHandler.java:1595)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle (ScopedHandler.java:255)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle (ContextHandler.java:1340)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope (ScopedHandler.java:203)
at org.seleniumhq.jetty9.servlet.ServletHandler.doScope (ServletHandler.java:473)
at org.seleniumhq.jetty9.server.session.SessionHandler.doScope (SessionHandler.java:1564)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope (ScopedHandler.java:201)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope (ContextHandler.java:1242)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle (ScopedHandler.java:144)
at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle (HandlerWrapper.java:132)
at org.seleniumhq.jetty9.server.Server.handle (Server.java:503)
at org.seleniumhq.jetty9.server.HttpChannel.handle (HttpChannel.java:364)
at org.seleniumhq.jetty9.server.HttpConnection.onFillable (HttpConnection.java:260)
at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded (AbstractConnection.java:305)
at org.seleniumhq.jetty9.io.FillInterest.fillable (FillInterest.java:103)
at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run (ChannelEndPoint.java:118)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask (EatWhatYouKill.java:333)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce (EatWhatYouKill.java:310)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce (EatWhatYouKill.java:168)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run (EatWhatYouKill.java:126)
at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run (ReservedThreadExecutor.java:366)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:765)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run (QueuedThreadPool.java:683)
at java.lang.Thread.run (Thread.java:748)
Traceback (most recent call last):
File "/usr/local/bin/behave", line 11, in <module>
sys.exit(main())
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/__main__.py", line 109, in main
failed = runner.run()
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/runner.py", line 672, in run
return self.run_with_paths()
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/runner.py", line 693, in run_with_paths
return self.run_model()
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/runner.py", line 483, in run_model
failed = feature.run(self)
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/model.py", line 523, in run
failed = scenario.run(runner)
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/model.py", line 1255, in run
failed = scenario.run(runner)
File "/home/jenkins/.local/lib/python3.5/site-packages/allure_commons/_allure.py", line 180, in __call__
return self._test(*args, **kwargs)
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/model.py", line 882, in run
if not step.run(runner):
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/model.py", line 1510, in run
runner.run_hook('after_step', runner.context, self)
File "/home/jenkins/.local/lib/python3.5/site-packages/behave/runner.py", line 405, in run_hook
self.hooks[name](context, *args)
File "Behave/features/environment.py", line 126, in after_step
allure.attach(context.browser.driver.get_screenshot_as_png(),
File "/home/jenkins/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 943, in get_screenshot_as_png
return base64.b64decode(self.get_screenshot_as_base64().encode('ascii'))
File "/home/jenkins/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 953, in get_screenshot_as_base64
return self.execute(Command.SCREENSHOT)['value']
File "/home/jenkins/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 311, in execute
self.error_handler.check_response(response)
File "/home/jenkins/.local/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 237, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Session [xxxxxxx2] was terminated due to SO_TIMEOUT
Stacktrace:
at org.openqa.grid.internal.ActiveTestSessions.getExistingSession (ActiveTestSessions.java:115)
at org.openqa.grid.internal.DefaultGridRegistry.getExistingSession (DefaultGridRegistry.java:387)
at org.openqa.grid.web.servlet.handler.RequestHandler.getSession (RequestHandler.java:241)
at org.openqa.grid.web.servlet.handler.RequestHandler.process (RequestHandler.java:123)
at org.openqa.grid.web.servlet.DriverServlet.process (DriverServlet.java:85)
at org.openqa.grid.web.servlet.DriverServlet.doGet (DriverServlet.java:63)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:790)
at org.seleniumhq.jetty9.servlet.ServletHolder.handle (ServletHolder.java:865)
at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle (ServletHandler.java:535)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle (ScopedHandler.java:146)
at org.seleniumhq.jetty9.security.SecurityHandler.handle (SecurityHandler.java:548)
at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle (HandlerWrapper.java:132)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle (ScopedHandler.java:257)
at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle (SessionHandler.java:1595)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle (ScopedHandler.java:255)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle (ContextHandler.java:1340)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope (ScopedHandler.java:203)
at org.seleniumhq.jetty9.servlet.ServletHandler.doScope (ServletHandler.java:473)
at org.seleniumhq.jetty9.server.session.SessionHandler.doScope (SessionHandler.java:1564)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope (ScopedHandler.java:201)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope (ContextHandler.java:1242)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle (ScopedHandler.java:144)
at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle (HandlerWrapper.java:132)
at org.seleniumhq.jetty9.server.Server.handle (Server.java:503)
at org.seleniumhq.jetty9.server.HttpChannel.handle (HttpChannel.java:364)
at org.seleniumhq.jetty9.server.HttpConnection.onFillable (HttpConnection.java:260)
at org.seleniumhq.jetty9.io.AbstractConnection$ReadCallback.succeeded (AbstractConnection.java:305)
at org.seleniumhq.jetty9.io.FillInterest.fillable (FillInterest.java:103)
at org.seleniumhq.jetty9.io.ChannelEndPoint$2.run (ChannelEndPoint.java:118)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask (EatWhatYouKill.java:333)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce (EatWhatYouKill.java:310)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce (EatWhatYouKill.java:168)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run (EatWhatYouKill.java:126)
at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run (ReservedThreadExecutor.java:366)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:765)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run (QueuedThreadPool.java:683)
at java.lang.Thread.run (Thread.java:748)
Кажется, что это проблема с перебоями. Кроме запуска другого тега для node-chrome
и selenium/hub
изображений, я не нашел решения. Или даже причина, по которой это происходит.
Пожалуйста, сообщите!