Вопросы к тестконтейнерам при работе с драйвером

#testcontainers

Вопрос:

Добрый день!

Я только начинаю использовать testcontainers. В связи с этим возник ряд вопросов. ошибка при запуске в chrome

 10:27:50.632 INFO - Executing: [new session: Capabilities [{loggingPrefs=org.openqa.selenium.logging.LoggingPreferences@2a0e7630, javascriptEnabled=true, acceptSslCerts=true, browserName=chrome, webdriver.chrome.driver=[--ignore-ssl-errors=true], goog:chromeOptions={useAutomationExtension=true, args=[--ignore-certificate-errors, --no-sandbox], extensions=[]}, takesScreenshot=true, acceptInsecureCerts=true}]])
10:27:50.644 INFO - Creating a new session for Capabilities [{loggingPrefs=org.openqa.selenium.logging.LoggingPreferences@2a0e7630, javascriptEnabled=true, acceptSslCerts=true, browserName=chrome, webdriver.chrome.driver=[--ignore-ssl-errors=true], goog:chromeOptions={useAutomationExtension=true, args=[--ignore-certificate-errors, --no-sandbox], extensions=[]}, takesScreenshot=true, acceptInsecureCerts=true}]
Starting ChromeDriver 2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf) on port 14181
Only local connections are allowed.
[0.081][WARNING]: PAC support disabled because there is no system implementation

      org.testcontainers.containers.ContainerLaunchException: Container startup failed
    at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:334)
    at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:315)
    at ru.sbtqa.ufs.ui.stepdefinitions.BeforeTestUI.beforeclass(BeforeTestUI.java:57)
    at ru.sbtqa.ufs.ui.stepdefinitions.BeforeTestUI.setUp(BeforeTestUI.java:75)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at cucumber.runtime.Utils$1.call(Utils.java:26)
    at cucumber.runtime.Timeout.timeout(Timeout.java:16)
    at cucumber.runtime.Utils.invoke(Utils.java:20)
    at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
    at cucumber.runner.HookDefinitionMatch.runStep(HookDefinitionMatch.java:16)
    at cucumber.runner.TestStep.executeStep(TestStep.java:65)
    at cucumber.runner.TestStep.run(TestStep.java:50)
    at cucumber.runner.TestCase.run(TestCase.java:42)
    at cucumber.runner.Runner.runPickle(Runner.java:50)
    at cucumber.runtime.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:146)
    at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:68)
    at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:23)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:73)
    at cucumber.api.junit.Cucumber.runChild(Cucumber.java:126)
    at cucumber.api.junit.Cucumber.runChild(Cucumber.java:66)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at cucumber.api.junit.Cucumber$RunCucumber.evaluate(Cucumber.java:156)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
    at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88)
    at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:327)
    ... 41 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
    at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:523)
    at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:329)
    at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
    ... 42 more
Caused by: org.rnorth.ducttape.TimeoutException: org.rnorth.ducttape.TimeoutException: java.util.concurrent.TimeoutException
 

Стандартный код

BrowserWebDriverContainer<?> контейнер = новый BrowserWebDriverContainer<?><>() .С возможностями(новые функции FirefoxOptions()) .С режимом записи(VncRecordingMode.RECORD_ALL, новый файл(«цель»), VncRecordingFormat.MP4) .withStartupTimeout(Продолжительность.минут(10)).withNetwork(Сеть.Новая сеть());

  1. Можно ли использовать только браузеры chrome и FireFox? яндекс и egde недоступны?

Комментарии:

1. Ух ты, парень, я сейчас переживаю нечто подобное. Вы выполняете тест в контейнере? Вам нужен браузер (Chrome и Firefox устанавливаются для меня, edge выходит из строя), java jre и, конечно, веб-драйверы для вашего браузера (chrome или chrome без головы). Также убедитесь, что на этом пути нет аутентификации.

2. Пожалуйста, попробуйте разделить ваши вопросы на несколько отдельных вопросов и добавьте пример кода для вашего второго вопроса.

3. Я не работаю в контейнере public static target BrowserWebDriverContainer <?> container = new BrowserWebDriverContainer <> () .withCapabilities (en.sbtqa.tag.pagefactory.drivers.Capabilities.getFirefoxOptions ()) .withRecordingMode (VncRecordingMode.RECORD_ALL, new file ("target"), VncRecordingFormat.MP4) .withStartupTimeout (Duration.ofMinutes (2)). withNetwork (Network.newNetwork ()); container.start(); , работает только в firefox. В chrome возникает ошибка

4. через драйвер все работает для меня в любом браузере. Я хотел бы и через testcontainers