2014-04-29 3 views
4

나는 사파리에 새로운 그리고 난 줄 때 :사파리 위치를 변경하십시오.

new SafariDriver() 

내가 얻을 :

 DesiredCapabilities cap = new DesiredCapabilities(); 
     cap.setCapability("safari.dataDir","/Users/me/Library/Safari") 
     driver = new SafariDriver(cap); 

그러나 같은 문제에 직면 :

java.lang.IllegalStateException: The expected Safari data directory does not exist: /Users/root/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:73) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:112) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:127) 
    at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:59) 
    at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:52) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) 
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190) 
    at com.apple.ist.ets.monsoon.test.ProfilePage.workAround(ProfilePage.groovy:79) 
    at com.apple.ist.ets.monsoon.test.ProfilePage.initWebContext(ProfilePage.groovy:88) 
    at com.apple.ist.ets.test.BaseWebTest.setUp(BaseWebTest.java:67) 
    at com.apple.ist.ets.test.BaseJUnitTestCase.preMethod(BaseJUnitTestCase.java:936) 
    at com.apple.ist.ets.test.TestCase.preProcess(TestCase.java:495) 
    at com.apple.ist.ets.test.ExecutionComponent.run(ExecutionComponent.java:1481) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
    at java.lang.Thread.run(Thread.java:695) 

내가 다음도 시도했다. 내가 실수하는 곳?

감사합니다.

+0

를 설치하려면 로그인 계정에서인가 디렉토리 "/ 사용자 '-jar 셀레늄 standalone.xxxjar -role 허브 자바를'시도/me/Library/Safari "를 시스템에서 사용할 수 있습니까? –

+0

@ 배트맨이 질문에 대한 추가 정보는 유용 할 것입니다. –

+0

@MarshallTigerus : 어떤 정보입니까? 나는 작동하지 않는 것 같은데 다음을 시도했다. – batman

답변

3

이 문제는 알려진 것 같습니다. 당신이 찾고있는 폴더도

https://code.google.com/p/selenium/issues/detail?id=5293

을 존재 하는가?

+2

정확한 문제를 연결하기 위해 임의의 downvote를 좋아합니다. 나는이 증오가 가득한 웹 사이트에 왜 귀찮게하는지 궁금합니다. –

0

허브와 노드를 시작할 때 'sudo'를 사용하지 마십시오. 루트 수준에서 Safari를 검색하지만 로그인 사용자 이름으로 Safari를 설치했을 수 있습니다. 당신이 당신의 맥에 대한 관리자하는 경우

, 단순히 최신 OSX 업데이트/사파리

관련 문제