Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

SafariDriver проблемы с запуском


(heartwilltell) #1

Столкнулся с ситуацией, что у меня не запускаются тесты в сафари на ноде, и странно, так как на моей локальной машине все работает.

Заглянул в настройки сафари в своей локальной машине и увидел во вкладке экстеншн такое:


При этом всем, я тупо не могу вспомнить каким образом она там оказалась. Я не помню, ставил ли я это сам, или это произошло автоматом.

На ноде такой штуки нету, и соответственно:
net.thucydides.core.webdriver.WebdriverAssertionError: net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class org.openqa.selenium.safari.SafariDriver
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:91)
at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:82)
at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:54)
at net.thucydides.core.webdriver.WebDriverFacade.openIgnoringHtmlUnitScriptErrors(WebDriverFacade.java:123)
at net.thucydides.core.webdriver.WebDriverFacade.get(WebDriverFacade.java:118)
at MPSAutoTests.pages.DownloadPages.DownloadProductPage.openDownloadPage(DownloadProductPage.java:14)
at MPSAutoTests.steps.StepsDownloadPages.openDownloadPage(StepsDownloadPages.java:18)
at MPSAutoTests.steps.StepsDownloadPages$$EnhancerByCGLIB$$a36e2a8d.CGLIB$openDownloadPage$0()
at MPSAutoTests.steps.StepsDownloadPages$$EnhancerByCGLIB$$a36e2a8d$$FastClassByCGLIB$$d2c0161a.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:278)
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:256)
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:127)
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:53)
at MPSAutoTests.steps.StepsDownloadPages$$EnhancerByCGLIB$$a36e2a8d.openDownloadPage()
at MPSAutoTests.DownloadPagesTest.check_cmm2_download_page(DownloadPagesTest.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at net.thucydides.junit.runners.ThucydidesStatement.evaluate(ThucydidesStatement.java:21)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at net.thucydides.junit.runners.ThucydidesRunner.runChild(ThucydidesRunner.java:413)
at net.thucydides.junit.runners.ThucydidesRunner.runChild(ThucydidesRunner.java:64)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at net.thucydides.junit.runners.ThucydidesRunner.run(ThucydidesRunner.java:239)
at org.apache.maven.surefire.junitcore.ClassDemarcatingRunner.run(ClassDemarcatingRunner.java:58)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:24)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class org.openqa.selenium.safari.SafariDriver
… 45 more
Caused by: net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class org.openqa.selenium.safari.SafariDriver
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:190)
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:88)
… 44 more
Caused by: java.lang.IllegalStateException: The expected Safari data directory does not exist: /Users/teamcity/Library/Safari
at com.google.common.base.Preconditions.checkState(Preconditions.java:177)
at org.openqa.selenium.safari.SafariExtensions.getInstallDirectory(SafariExtensions.java:179)
at org.openqa.selenium.safari.SafariExtensions.install(SafariExtensions.java:213)
at org.openqa.selenium.safari.SafariDriverCommandExecutor.start(SafariDriverCommandExecutor.java:95)
at org.openqa.selenium.safari.SafariDriver.startClient(SafariDriver.java:77)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:110)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:115)
at org.openqa.selenium.safari.SafariDriver.(SafariDriver.java:63)
at org.openqa.selenium.safari.SafariDriver.(SafariDriver.java:56)
at net.thucydides.core.webdriver.WebdriverInstanceFactory.newSafariDriver(WebdriverInstanceFactory.java:40)
at net.thucydides.core.webdriver.WebDriverFactory.safariDriver(WebDriverFactory.java:486)
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:176)
… 45 more


(heartwilltell) #2

Ну да собственно само все говорит строчка:

Caused by: java.lang.IllegalStateException: The expected Safari data directory does not exist: /Users/teamcity/Library/Safari

А у меня пользователь с нестандартным хомяком. Кто знает где мавену указать куда смотреть?


(heartwilltell) #3

Ну решил все установкой хомяка в привычное место. Кто бы мог подумать что будет такая хрень


(Александр Таранков) #4

А Сафари-то сам работал на ноде? При нестандартном хомяке


(heartwilltell) #5

Да работал.
При чем интересно что, что при нестандартном хомяке, и хром и фаерфокс работали нормально. Проблемы были только с сафари.


(Александр Таранков) #6

Я переместил(а) сообщение в новую тему: Как запустить Safari с подключенным extension?